diff options
Diffstat (limited to 'lib/scripts/media.js')
-rw-r--r-- | lib/scripts/media.js | 93 |
1 files changed, 53 insertions, 40 deletions
diff --git a/lib/scripts/media.js b/lib/scripts/media.js index ea8f56af2..c00a71e5f 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -2,9 +2,6 @@ /*global jQuery, window, DOKU_BASE*/ "use strict"; -// TODO -// * fix the css to have pointers on the +/- images in the tree when JS is enabled -// * fix the css to have pointers on a.select when JS is enabled // * refactor once the jQuery port is over ;) /** @@ -27,6 +24,9 @@ ext: false, }; + + + /** * build the popup window * @@ -37,9 +37,10 @@ popup = document.createElement('div'); popup.setAttribute('id','media__popup'); + popup.style.display = "none"; var root = document.getElementById('media__manager'); - if (root == null) return; + if (root === null) return; root.appendChild(popup); var headline = document.createElement('h1'); @@ -68,8 +69,7 @@ for (var i = 0 ; i < linkbtns.length ; ++i) { var linkbtn = document.createElement('button'); linkbtn.className = 'button'; - linkbtn.value = i + 1; - linkbtn.id = "media__linkbtn" + (i + 1); + linkbtn.id = "media__linkbtn" + (i+1); linkbtn.title = LANG['media' + linkbtns[i]]; linkbtn.style.borderStyle = 'outset'; $(linkbtn).click(function (event) { return setlink(event,this); }); @@ -101,8 +101,7 @@ var alignimg = document.createElement('img'); alignimg.src = DOKU_BASE + 'lib/images/media_align_' + alignbtns[n] + '.png'; - alignbtn.id = "media__alignbtn" + n; - alignbtn.value = n; + alignbtn.id = "media__alignbtn" + (n+1); alignbtn.title = LANG['media' + alignbtns[n]]; alignbtn.className = 'button'; alignbtn.appendChild(alignimg); @@ -136,7 +135,6 @@ sizebtn.className = 'button'; sizebtn.appendChild(sizeimg); - sizebtn.value = size + 1; sizebtn.id = 'media__sizebtn' + (size + 1); sizebtn.title = LANG['media' + sizebtns[size]]; sizebtn.style.borderStyle = 'outset'; @@ -191,7 +189,7 @@ optsstart = true; } - var s = parseInt(media_manager.size); + var s = parseInt(media_manager.size, 10); if (s && s >= 1) { opts += (optsstart)?'&':'?'; @@ -212,21 +210,23 @@ } } } - if (media_manager.align == '1') { + if (media_manager.align == '2') { alignleft = ''; alignright = ' '; } - if (media_manager.align == '2') { + if (media_manager.align == '3') { alignleft = ' '; alignright = ' '; } - if (media_manager.align == '3') { + if (media_manager.align == '4') { alignleft = ' '; alignright = ''; } } } - opener.insertTags('wiki__text','{{'+alignleft+id+opts+alignright+'|','}}',''); + var edid = String.prototype.match.call(document.location, /&edid=([^&]+)/); + edid = edid ? edid[1] : 'wiki__text'; + opener.insertTags(edid,'{{'+alignleft+id+opts+alignright+'|','}}',''); if(!media_manager.keepopen) window.close(); opener.focus(); @@ -285,7 +285,7 @@ DOKU_BASE + 'lib/exe/ajax.php', link.attr('search').substr(1) + '&call=medians', function (data) { - ul.html(data) + ul.html(data); listitem.append(ul); }, 'html' @@ -491,7 +491,7 @@ * @author Pierre Spring <pierre.spring@caillou.ch> */ attachoptions = function(){ - obj = $('#media__opts')[0] + obj = $('#media__opts')[0]; if(!obj) return; // keep open @@ -548,7 +548,7 @@ obj.appendChild(hdlbl); obj.appendChild(hdbr); updatehide(); - }, + }; /** * Generalized toggler @@ -563,7 +563,7 @@ DokuCookie.setValue(variable, ''); media_manager[variable] = false; } - } + }; initFlashUpload = function () { var oform, oflash, title; @@ -618,14 +618,15 @@ * @author Dominik Eckelmann <eckelmann@cosmocode.de> */ setalign = function(event,cb){ - if(cb.value){ - DokuCookie.setValue('align',cb.value); - media_manager.align = cb.value; - outSet("media__alignbtn0"); - outSet("media__alignbtn1"); - outSet("media__alignbtn2"); - outSet("media__alignbtn3"); - inSet("media__alignbtn"+cb.value); + + var id = cb.id.substring(cb.id.length -1); + if(id){ + DokuCookie.setValue('align',id); + media_manager.align = id; + for (var i = 1; i<=4; i++) { + outSet("media__alignbtn" + i); + } + inSet("media__alignbtn"+id); }else{ DokuCookie.setValue('align',''); media_manager.align = false; @@ -638,23 +639,34 @@ * @author Dominik Eckelmann <eckelmann@cosmocode.de> */ setlink = function(event,cb){ - if(cb.value){ - DokuCookie.setValue('link',cb.value); - media_manager.link = cb.value; - outSet("media__linkbtn1"); - outSet("media__linkbtn2"); - outSet("media__linkbtn3"); - outSet("media__linkbtn4"); - inSet("media__linkbtn"+cb.value); + var id = cb.id.substring(cb.id.length -1); + if(id){ + DokuCookie.setValue('link',id); + for (var i = 1; i<=4; i++) { + outSet("media__linkbtn"+i); + } + inSet("media__linkbtn"+id); + var size = $("#media__size"); var align = $("#media__align"); - if (cb.value != '4') { + if (id != '4') { size.show(); align.show(); + if (media_manager.link == '4') { + media_manager.align = '1'; + DokuCookie.setValue('align', '1'); + inSet('media__alignbtn1'); + + media_manager.size = '2'; + DokuCookie.setValue('size', '2'); + inSet('media__sizebtn2'); + } + } else { size.hide(); align.hide(); } + media_manager.link = id; }else{ DokuCookie.setValue('link',''); media_manager.link = false; @@ -667,13 +679,14 @@ * @author Dominik Eckelmann <eckelmann@cosmocode.de> */ setsize = function(event,cb){ - if (cb.value) { - DokuCookie.setValue('size',cb.value); - media_manager.size = cb.value; - for (var i = 1 ; i <= 4 ; ++i) { + var id = cb.id.substring(cb.id.length -1); + if (id) { + DokuCookie.setValue('size',id); + media_manager.size = id; + for (var i = 1 ; i <=4 ; ++i) { outSet("media__sizebtn" + i); } - inSet("media__sizebtn"+cb.value); + inSet("media__sizebtn"+id); } else { DokuCookie.setValue('size',''); media_manager.width = false; |