Commit 87b6f1b0d70adbe5be08b2c5b3ac2838d039549d

Authored by William Daniau
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 +