Commit 87b6f1b0d70adbe5be08b2c5b3ac2838d039549d
1 parent
6cb8cdc86e
Exists in
master
Utilisation de H5 spéciaux plutôt que de zim-tags
Showing 1 changed file with 48 additions and 15 deletions Side-by-side Diff
templates/html/common/wizefunc.js
... | ... | @@ -45,20 +45,31 @@ |
45 | 45 | /* Convert the two first tags into info */ |
46 | 46 | /* use tags for image/table/object attributes */ |
47 | 47 | function tagToInfo() { |
48 | - var tags = document.getElementsByClassName('zim-tag'); | |
48 | + /* All H5 tags */ | |
49 | + var atags = document.getElementsByTagName('H5'); | |
50 | + /* extract configuration tags */ | |
51 | + tags=[]; | |
52 | + for (var i=0; i<atags.length;i++) { | |
53 | + var s = atags[i].innerHTML; | |
54 | + if (s.match(/^#/)) { | |
55 | + atags[i].innerHTML = s.replace('#',''); | |
56 | + tags.push(atags[i]); | |
57 | + } | |
58 | + } | |
59 | + | |
49 | 60 | var n = tags.length < 3 ? tags.length : 2; |
50 | 61 | for (var i=1; i <= n; i++) { |
62 | + /* first make the tag not displayed */ | |
63 | + tags[i-1].setAttribute("style","display:none;"); | |
51 | 64 | var s = tags[i-1].innerHTML; |
52 | - s = s.replace('@',''); | |
53 | - s = s.replace(/_/g,' '); | |
54 | 65 | document.getElementById("footinfo"+i).innerHTML = s; |
55 | 66 | } |
56 | 67 | if (tags.length > 2) { |
57 | 68 | /* Image tags */ |
58 | 69 | for (var i=1; i <= tags.length - 2; i++) { |
59 | 70 | var ctag = tags[i+1]; |
71 | + ctag.setAttribute("style","display:none;"); | |
60 | 72 | var s = ctag.innerHTML; |
61 | - s = s.replace('@',''); | |
62 | 73 | /* find next img/table/zim-object */ |
63 | 74 | ctag = findNextObject(ctag); |
64 | 75 | |
... | ... | @@ -92,7 +103,7 @@ |
92 | 103 | |
93 | 104 | function findNextObject(tag) { |
94 | 105 | /* try to found in current */ |
95 | - var objectsTagClassArray=['IMG','','TABLE','','DIV','zim-object']; | |
106 | + var objectsTagClassArray=['IMG','','TABLE','','DIV','zim-object','UL','','OL','']; | |
96 | 107 | ob = findTagInSiblings(tag,objectsTagClassArray); |
97 | 108 | if (ob == null) { |
98 | 109 | ob = findTagInSiblings(tag.parentElement,objectsTagClassArray); |
99 | 110 | |
100 | 111 | |
101 | 112 | |
102 | 113 | |
103 | 114 | |
... | ... | @@ -103,25 +114,47 @@ |
103 | 114 | function findTagInSiblings(tag,tagsToFind) { |
104 | 115 | var notFound = true; |
105 | 116 | var ctag = tag; |
117 | + var cctag; | |
106 | 118 | while (notFound) { |
107 | 119 | ctag = ctag.nextElementSibling |
108 | 120 | if (ctag == null) { |
109 | 121 | notFound = false; |
110 | 122 | 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]=='') { | |
123 | + } | |
124 | + if (isTagInList(ctag,tagsToFind)) { | |
125 | + notFound = false; | |
126 | + break; | |
127 | + } | |
128 | + /* now search into children */ | |
129 | + if (ctag.childElementCount != 0) { | |
130 | + for (var i=0;i<ctag.childElementCount;i++) { | |
131 | + cctag=ctag.children[i]; | |
132 | + if (isTagInList(cctag,tagsToFind)) { | |
116 | 133 | notFound = false; |
134 | + ctag=cctag; | |
117 | 135 | break; |
118 | - } else if (ctag.className == tagsToFind[i*2+1]) { | |
119 | - notFound = false; | |
120 | - break; | |
121 | - } | |
136 | + } | |
122 | 137 | } |
123 | - } | |
138 | + } | |
124 | 139 | } |
125 | 140 | return ctag; |
126 | 141 | } |
142 | + | |
143 | + function isTagInList(tag,tagsToFind) { | |
144 | + yes = false; | |
145 | + for (var i=0; i < tagsToFind.length/2 ; i++) { | |
146 | + if (tag.tagName == tagsToFind[i*2]) { | |
147 | + if (tagsToFind[i*2+1]=='') { | |
148 | + yes = true; | |
149 | + break; | |
150 | + } else if (tag.className == tagsToFind[i*2+1]) { | |
151 | + yes = true; | |
152 | + break; | |
153 | + } | |
154 | + } | |
155 | + } | |
156 | + return yes; | |
157 | + } | |
158 | + | |
159 | + |