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 | } |