39
39
ed.onInit.add(function(ed) {
40
tinymce.dom.Event.add(ed.getWin(), 'scroll', function(e) {
41
ed.plugins.wpeditimage.hideButtons();
40
tinymce.dom.Event.add(ed.getBody(), 'dragstart', function(e) {
41
if ( !tinymce.isGecko && e.target.nodeName == 'IMG' && ed.dom.getParent(e.target, 'dl.wp-caption') )
42
return tinymce.dom.Event.cancel(e);
45
ed.onBeforeExecCommand.add(function(ed, cmd, ui, val) {
46
ed.plugins.wpeditimage.hideButtons();
49
ed.onSaveContent.add(function(ed, o) {
50
ed.plugins.wpeditimage.hideButtons();
53
46
ed.onMouseUp.add(function(ed, e) {
56
if ( tinymce.isOpera ) {
57
if ( e.target.nodeName == 'IMG' )
58
ed.plugins.wpeditimage.showButtons(e.target);
59
} else if ( ! tinymce.isWebKit ) {
60
n = ed.selection.getNode();
62
if ( n.nodeName == 'IMG' && (DL = ed.dom.getParent(n, 'DL')) ) {
63
window.setTimeout(function(){
64
var ed = tinyMCE.activeEditor, n = ed.selection.getNode(), DL = ed.dom.getParent(n, 'DL');
66
if ( n.width != (parseInt(ed.dom.getStyle(DL, 'width')) - 10) ) {
67
ed.dom.setStyle(DL, 'width', parseInt(n.width)+10);
68
ed.execCommand('mceRepaint');
47
if ( tinymce.isWebKit || tinymce.isOpera )
50
if ( ed.dom.getParent(e.target, 'div.mceTemp') || ed.dom.is(e.target, 'div.mceTemp') ) {
51
window.setTimeout(function(){
52
var ed = tinyMCE.activeEditor, n = ed.selection.getNode(), DL = ed.dom.getParent(n, 'dl.wp-caption');
54
if ( DL && n.width != ( parseInt(ed.dom.getStyle(DL, 'width'), 10) - 10 ) ) {
55
ed.dom.setStyle(DL, 'width', parseInt(n.width, 10) + 10);
56
ed.execCommand('mceRepaint');
75
62
ed.onMouseDown.add(function(ed, e) {
76
if ( tinymce.isOpera || e.target.nodeName != 'IMG' ) {
65
if ( e.target.nodeName == 'IMG' && ed.dom.getAttrib(e.target, 'class').indexOf('mceItem') == -1 ) {
66
ed.plugins.wordpress._showButtons(e.target, 'wp_editbtns');
67
if ( tinymce.isGecko && (p = ed.dom.getParent(e.target, 'dl.wp-caption')) && ed.dom.hasClass(p.parentNode, 'mceTemp') )
68
ed.selection.select(p.parentNode);
80
ed.plugins.wpeditimage.showButtons(e.target);
83
72
ed.onKeyPress.add(function(ed, e) {
86
if ( e.keyCode == 13 && (DL = ed.dom.getParent(ed.selection.getNode(), 'DL')) ) {
75
if ( e.keyCode == 13 && (DL = ed.dom.getParent(ed.selection.getNode(), 'DL')) && ed.dom.hasClass(DL, 'wp-caption') ) {
87
76
P = ed.dom.create('p', {}, ' ');
88
77
if ( (DIV = DL.parentNode) && DIV.nodeName == 'DIV' )
89
78
ed.dom.insertAfter( P, DIV );
90
else ed.dom.insertAfter( P, DL );
80
ed.dom.insertAfter( P, DL );
83
ed.selection.select(P.firstChild);
85
ed.selection.select(P);
92
87
tinymce.dom.Event.cancel(e);
93
ed.selection.select(P);
152
showButtons : function(n) {
153
var t = this, ed = tinyMCE.activeEditor, p1, p2, vp, DOM = tinymce.DOM, X, Y, cls = ed.dom.getAttrib(n, 'class');
155
if ( cls.indexOf('mceItem') != -1 || cls.indexOf('wpGallery') != -1 )
158
vp = ed.dom.getViewPort(ed.getWin());
159
p1 = DOM.getPos(ed.getContentAreaContainer());
160
p2 = ed.dom.getPos(n);
162
X = Math.max(p2.x - vp.x, 0) + p1.x;
163
Y = Math.max(p2.y - vp.y, 0) + p1.y;
165
DOM.setStyles('wp_editbtns', {
171
t.btnsTout = window.setTimeout( function(){ed.plugins.wpeditimage.hideButtons();}, 5000 );
174
hideButtons : function() {
175
if ( tinymce.DOM.isHidden('wp_editbtns') ) return;
177
tinymce.DOM.hide('wp_editbtns');
178
window.clearTimeout(this.btnsTout);
181
146
_createButtons : function() {
182
var t = this, ed = tinyMCE.activeEditor, DOM = tinymce.DOM, wp_editbtns, wp_editimgbtn, wp_delimgbtn;
147
var t = this, ed = tinyMCE.activeEditor, DOM = tinymce.DOM, editButton, dellButton;
184
149
DOM.remove('wp_editbtns');
186
wp_editbtns = DOM.add(document.body, 'div', {
151
DOM.add(document.body, 'div', {
187
152
id : 'wp_editbtns',
188
153
style : 'display:none;'
191
wp_editimgbtn = DOM.add('wp_editbtns', 'img', {
156
editButton = DOM.add('wp_editbtns', 'img', {
192
157
src : t.url+'/img/image.png',
193
158
id : 'wp_editimgbtn',
196
161
title : ed.getLang('wpeditimage.edit_img')
199
wp_editimgbtn.onmousedown = function(e) {
164
tinymce.dom.Event.add(editButton, 'mousedown', function(e) {
200
165
var ed = tinyMCE.activeEditor;
201
166
ed.windowManager.bookmark = ed.selection.getBookmark('simple');
202
167
ed.execCommand("WP_EditImage");
203
this.parentNode.style.display = 'none';
206
wp_delimgbtn = DOM.add('wp_editbtns', 'img', {
170
dellButton = DOM.add('wp_editbtns', 'img', {
207
171
src : t.url+'/img/delete.png',
208
172
id : 'wp_delimgbtn',