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