Commit aca67690f1cc3a86bbdf8df1e3d16f40e20b7045
1 parent
0d8dc7302c
Exists in
master
Ajout de configuration par tags dans Wize_S5
Showing 1 changed file with 71 additions and 0 deletions Inline Diff
templates/html/common/wizefunc.js
| 1 | 1 | |||
| /* Go to top of page */ | 2 | 2 | /* Go to top of page */ | |
| function topFunction() { | 3 | 3 | function topFunction() { | |
| document.body.scrollTop = 0; | 4 | 4 | document.body.scrollTop = 0; | |
| document.documentElement.scrollTop = 0; | 5 | 5 | document.documentElement.scrollTop = 0; | |
| } | 6 | 6 | } | |
| 7 | 7 | |||
| /* open/close navigation optionally slide page */ | 8 | 8 | /* open/close navigation optionally slide page */ | |
| function openNav(slide) { | 9 | 9 | function openNav(slide) { | |
| if (document.getElementById("mySidenav").getAttribute("class").split(' ')[1] == "menuClosed") { | 10 | 10 | if (document.getElementById("mySidenav").getAttribute("class").split(' ')[1] == "menuClosed") { | |
| document.getElementById("mySidenav").style.width = "300px"; | 11 | 11 | document.getElementById("mySidenav").style.width = "300px"; | |
| if (slide==1) { | 12 | 12 | if (slide==1) { | |
| document.getElementById("main").style.marginLeft = "300px"; | 13 | 13 | document.getElementById("main").style.marginLeft = "300px"; | |
| } | 14 | 14 | } | |
| document.getElementById("mySidenav").setAttribute("class","menu menuOpen"); | 15 | 15 | document.getElementById("mySidenav").setAttribute("class","menu menuOpen"); | |
| /* Scroll to top when opening menu */ | 16 | 16 | /* Scroll to top when opening menu */ | |
| topFunction(); | 17 | 17 | topFunction(); | |
| } else { | 18 | 18 | } else { | |
| document.getElementById("mySidenav").style.width = "0"; | 19 | 19 | document.getElementById("mySidenav").style.width = "0"; | |
| if (slide==1) { | 20 | 20 | if (slide==1) { | |
| document.getElementById("main").style.marginLeft = "0"; | 21 | 21 | document.getElementById("main").style.marginLeft = "0"; | |
| } | 22 | 22 | } | |
| document.getElementById("mySidenav").setAttribute("class","menu menuClosed"); | 23 | 23 | document.getElementById("mySidenav").setAttribute("class","menu menuClosed"); | |
| } | 24 | 24 | } | |
| } | 25 | 25 | } | |
| 26 | 26 | |||
| /* when scrolling down 20 pixel display upButton */ | 27 | 27 | /* when scrolling down 20 pixel display upButton */ | |
| function scrollFunction() { | 28 | 28 | function scrollFunction() { | |
| if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { | 29 | 29 | if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { | |
| upButton.style.display = "block"; | 30 | 30 | upButton.style.display = "block"; | |
| } else { | 31 | 31 | } else { | |
| upButton.style.display = "none"; | 32 | 32 | upButton.style.display = "none"; | |
| } | 33 | 33 | } | |
| } | 34 | 34 | } | |
| 35 | 35 | |||
| /* Test if the logo is present (to avoid displaying broken link icon on chrome) */ | 36 | 36 | /* Test if the logo is present (to avoid displaying broken link icon on chrome) */ | |
| function testLogo() { | 37 | 37 | function testLogo() { | |
| logo=document.getElementById("logoImgId"); | 38 | 38 | logo=document.getElementById("logoImgId"); | |
| logodiv=document.getElementById("logoDivId"); | 39 | 39 | logodiv=document.getElementById("logoDivId"); | |
| if (logo.naturalHeight == 0) { | 40 | 40 | if (logo.naturalHeight == 0) { | |
| logodiv.setAttribute("style","display:none;"); | 41 | 41 | logodiv.setAttribute("style","display:none;"); | |
| } | 42 | 42 | } | |
| } | 43 | 43 | } | |
| 44 | 44 | |||
| /* Convert the two first tags into info */ | 45 | 45 | /* Convert the two first tags into info */ | |
| 46 | /* use tags for image/table/object attributes */ | |||
| function tagToInfo() { | 46 | 47 | function tagToInfo() { | |
| var tags = document.getElementsByClassName('zim-tag'); | 47 | 48 | var tags = document.getElementsByClassName('zim-tag'); | |
| var n = tags.length < 3 ? tags.length : 2; | 48 | 49 | var n = tags.length < 3 ? tags.length : 2; | |
| for (var i=1; i <= n; i++) { | 49 | 50 | for (var i=1; i <= n; i++) { | |
| var s = tags[i-1].innerHTML; | 50 | 51 | var s = tags[i-1].innerHTML; | |
| s = s.replace('@',''); | 51 | 52 | s = s.replace('@',''); | |
| s = s.replace(/_/g,' '); | 52 | 53 | s = s.replace(/_/g,' '); | |
| document.getElementById("footinfo"+i).innerHTML = s; | 53 | 54 | document.getElementById("footinfo"+i).innerHTML = s; | |
| } | 54 | 55 | } | |
| 56 | if (tags.length > 2) { | |||
| 57 | /* Image tags */ | |||
| 58 | for (var i=1; i <= tags.length - 2; i++) { | |||
| 59 | var ctag = tags[i+1]; | |||
| 60 | var s = ctag.innerHTML; | |||
| 61 | s = s.replace('@',''); | |||
| 62 | /* find next img/table/zim-object */ | |||
| 63 | ctag = findNextObject(ctag); | |||
| 64 | ||||
| 65 | /* either we found something either null */ | |||
| 66 | if (ctag!=null) { | |||
| 67 | var style = ctag.getAttribute("style"); | |||
| 68 | var res; | |||
| 69 | style = style == null ? '' : style; | |||
| 70 | if (s == "left") { | |||
| 71 | style = style + "float:left; margin-left:0; margin-right:1em;"; | |||
| 72 | } | |||
| 73 | if (s == "right") { | |||
| 74 | style = style + "float:right; margin-left:1em; margin-right:0;"; | |||
| 75 | } | |||
| 76 | if (res = s.match(/^height(.+)$/)) { | |||
| 77 | style = style + "height:"+res[1]+";"; | |||
| 78 | } | |||
| 79 | if (res = s.match(/^width(.+)$/)) { | |||
| 80 | style = style + "width:"+res[1]+"; height:auto;"; | |||
| 81 | } | |||
| 82 | if (res = s.match(/^fontsize(.+)$/)) { | |||
| 83 | style = style + "font-size:"+res[1]+"%;"; | |||
| 84 | } | |||
| 85 | ctag.setAttribute("style",style); | |||
| 86 | } | |||
| 87 | ||||
| 88 | } | |||
| 89 | ||||
| 90 | } | |||
| 91 | } | |||
| 92 | ||||
| 93 | function findNextObject(tag) { | |||
| 94 | /* try to found in current */ | |||
| 95 | var objectsTagClassArray=['IMG','','TABLE','','DIV','zim-object']; | |||
| 96 | ob = findTagInSiblings(tag,objectsTagClassArray); | |||
| 97 | if (ob == null) { | |||
| 98 | ob = findTagInSiblings(tag.parentElement,objectsTagClassArray); | |||
| 99 | } | |||
| 100 | return ob; | |||
| 101 | } | |||
| 102 | ||||
| 103 | function findTagInSiblings(tag,tagsToFind) { | |||
| 104 | var notFound = true; | |||
| 105 | var ctag = tag; | |||
| 106 | while (notFound) { | |||
| 107 | ctag = ctag.nextElementSibling | |||
| 108 | if (ctag == null) { | |||
| 109 | notFound = false; | |||
| 110 | break; | |||
| 111 | } | |||
| 112 | for (var i=0 ; i < tagsToFind.length/2 ; i++) { | |||
| 113 | if (ctag.tagName == tagsToFind[i*2]) { | |||
| 114 | /* we(ve got the tag */ | |||
| 115 | if (tagsToFind[i*2+1]=='') { | |||
| 116 | notFound = false; | |||
| 117 | break; | |||
| 118 | } else if (ctag.className == tagsToFind[i*2+1]) { | |||
| 119 | notFound = false; | |||
| 120 | break; | |||
| 121 | } |