X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/d3b1ea255664edd2deef17f900a655613d20820d..refs/tags/wordpress-3.0:/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js b/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js index 2e256a07..68561ddc 100644 --- a/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js +++ b/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js @@ -37,60 +37,54 @@ }); ed.onInit.add(function(ed) { - tinymce.dom.Event.add(ed.getWin(), 'scroll', function(e) { - ed.plugins.wpeditimage.hideButtons(); + tinymce.dom.Event.add(ed.getBody(), 'dragstart', function(e) { + if ( !tinymce.isGecko && e.target.nodeName == 'IMG' && ed.dom.getParent(e.target, 'dl.wp-caption') ) + return tinymce.dom.Event.cancel(e); }); }); - ed.onBeforeExecCommand.add(function(ed, cmd, ui, val) { - ed.plugins.wpeditimage.hideButtons(); - }); + ed.onMouseUp.add(function(ed, e) { + if ( tinymce.isWebKit || tinymce.isOpera ) + return; - ed.onSaveContent.add(function(ed, o) { - ed.plugins.wpeditimage.hideButtons(); - }); + if ( ed.dom.getParent(e.target, 'div.mceTemp') || ed.dom.is(e.target, 'div.mceTemp') ) { + window.setTimeout(function(){ + var ed = tinyMCE.activeEditor, n = ed.selection.getNode(), DL = ed.dom.getParent(n, 'dl.wp-caption'); - ed.onMouseUp.add(function(ed, e) { - var n, DL; - - if ( tinymce.isOpera ) { - if ( e.target.nodeName == 'IMG' ) - ed.plugins.wpeditimage.showButtons(e.target); - } else if ( ! tinymce.isWebKit ) { - n = ed.selection.getNode(); - - if ( n.nodeName == 'IMG' && (DL = ed.dom.getParent(n, 'DL')) ) { - window.setTimeout(function(){ - var ed = tinyMCE.activeEditor, n = ed.selection.getNode(), DL = ed.dom.getParent(n, 'DL'); - - if ( n.width != (parseInt(ed.dom.getStyle(DL, 'width')) - 10) ) { - ed.dom.setStyle(DL, 'width', parseInt(n.width)+10); - ed.execCommand('mceRepaint'); - } - }, 100); - } + if ( DL && n.width != ( parseInt(ed.dom.getStyle(DL, 'width'), 10) - 10 ) ) { + ed.dom.setStyle(DL, 'width', parseInt(n.width, 10) + 10); + ed.execCommand('mceRepaint'); + } + }, 100); } }); ed.onMouseDown.add(function(ed, e) { - if ( tinymce.isOpera || e.target.nodeName != 'IMG' ) { - t.hideButtons(); - return; + var p; + + if ( e.target.nodeName == 'IMG' && ed.dom.getAttrib(e.target, 'class').indexOf('mceItem') == -1 ) { + ed.plugins.wordpress._showButtons(e.target, 'wp_editbtns'); + if ( tinymce.isGecko && (p = ed.dom.getParent(e.target, 'dl.wp-caption')) && ed.dom.hasClass(p.parentNode, 'mceTemp') ) + ed.selection.select(p.parentNode); } - ed.plugins.wpeditimage.showButtons(e.target); }); ed.onKeyPress.add(function(ed, e) { var DL, DIV, P; - if ( e.keyCode == 13 && (DL = ed.dom.getParent(ed.selection.getNode(), 'DL')) ) { + if ( e.keyCode == 13 && (DL = ed.dom.getParent(ed.selection.getNode(), 'DL')) && ed.dom.hasClass(DL, 'wp-caption') ) { P = ed.dom.create('p', {}, ' '); if ( (DIV = DL.parentNode) && DIV.nodeName == 'DIV' ) ed.dom.insertAfter( P, DIV ); - else ed.dom.insertAfter( P, DL ); + else + ed.dom.insertAfter( P, DL ); + + if ( P.firstChild ) + ed.selection.select(P.firstChild); + else + ed.selection.select(P); tinymce.dom.Event.cancel(e); - ed.selection.select(P); return false; } }); @@ -124,7 +118,7 @@ div_cls = (cls == 'aligncenter') ? 'mceTemp mceIEcenter' : 'mceTemp'; - return '
'+c+'
'+cap+'
'; }); }, @@ -149,46 +143,17 @@ }); }, - showButtons : function(n) { - var t = this, ed = tinyMCE.activeEditor, p1, p2, vp, DOM = tinymce.DOM, X, Y, cls = ed.dom.getAttrib(n, 'class'); - - if ( cls.indexOf('mceItem') != -1 || cls.indexOf('wpGallery') != -1 ) - return; - - vp = ed.dom.getViewPort(ed.getWin()); - p1 = DOM.getPos(ed.getContentAreaContainer()); - p2 = ed.dom.getPos(n); - - X = Math.max(p2.x - vp.x, 0) + p1.x; - Y = Math.max(p2.y - vp.y, 0) + p1.y; - - DOM.setStyles('wp_editbtns', { - 'top' : Y+5+'px', - 'left' : X+5+'px', - 'display' : 'block' - }); - - t.btnsTout = window.setTimeout( function(){ed.plugins.wpeditimage.hideButtons();}, 5000 ); - }, - - hideButtons : function() { - if ( tinymce.DOM.isHidden('wp_editbtns') ) return; - - tinymce.DOM.hide('wp_editbtns'); - window.clearTimeout(this.btnsTout); - }, - _createButtons : function() { - var t = this, ed = tinyMCE.activeEditor, DOM = tinymce.DOM, wp_editbtns, wp_editimgbtn, wp_delimgbtn; + var t = this, ed = tinyMCE.activeEditor, DOM = tinymce.DOM, editButton, dellButton; DOM.remove('wp_editbtns'); - wp_editbtns = DOM.add(document.body, 'div', { + DOM.add(document.body, 'div', { id : 'wp_editbtns', style : 'display:none;' }); - wp_editimgbtn = DOM.add('wp_editbtns', 'img', { + editButton = DOM.add('wp_editbtns', 'img', { src : t.url+'/img/image.png', id : 'wp_editimgbtn', width : '24', @@ -196,14 +161,13 @@ title : ed.getLang('wpeditimage.edit_img') }); - wp_editimgbtn.onmousedown = function(e) { + tinymce.dom.Event.add(editButton, 'mousedown', function(e) { var ed = tinyMCE.activeEditor; ed.windowManager.bookmark = ed.selection.getBookmark('simple'); ed.execCommand("WP_EditImage"); - this.parentNode.style.display = 'none'; - }; + }); - wp_delimgbtn = DOM.add('wp_editbtns', 'img', { + dellButton = DOM.add('wp_editbtns', 'img', { src : t.url+'/img/delete.png', id : 'wp_delimgbtn', width : '24', @@ -211,7 +175,7 @@ title : ed.getLang('wpeditimage.del_img') }); - wp_delimgbtn.onmousedown = function(e) { + tinymce.dom.Event.add(dellButton, 'mousedown', function(e) { var ed = tinyMCE.activeEditor, el = ed.selection.getNode(), p; if ( el.nodeName == 'IMG' && ed.dom.getAttrib(el, 'class').indexOf('mceItem') == -1 ) { @@ -219,13 +183,13 @@ ed.dom.remove(p); else if ( (p = ed.dom.getParent(el, 'A')) && p.childNodes.length == 1 ) ed.dom.remove(p); - else ed.dom.remove(el); + else + ed.dom.remove(el); - this.parentNode.style.display = 'none'; ed.execCommand('mceRepaint'); return false; } - }; + }); }, getInfo : function() {