~katiekitty/+junk/wordpress-byet

« back to all changes in this revision

Viewing changes to wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js

  • Committer: kserver
  • Date: 2010-05-15 01:16:36 UTC
  • Revision ID: kserver@kserver-desktop-20100515011636-mnr1j7t637suptdq
Wordpress 2.9.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
                        });
38
38
 
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);
42
43
                                });
43
44
                        });
44
45
 
45
 
                        ed.onBeforeExecCommand.add(function(ed, cmd, ui, val) {
46
 
                                ed.plugins.wpeditimage.hideButtons();
47
 
                        });
48
 
 
49
 
                        ed.onSaveContent.add(function(ed, o) {
50
 
                                ed.plugins.wpeditimage.hideButtons();
51
 
                        });
52
 
 
53
46
                        ed.onMouseUp.add(function(ed, e) {
54
 
                                var n, DL;
55
 
                                
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();
61
 
                                        
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');
65
 
                                                
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');
69
 
                                                        }
70
 
                                                }, 100);
71
 
                                        }
 
47
                                if ( tinymce.isWebKit || tinymce.isOpera )
 
48
                                        return;
 
49
 
 
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');
 
53
 
 
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');
 
57
                                                }
 
58
                                        }, 100);
72
59
                                }
73
60
                        });
74
61
 
75
62
                        ed.onMouseDown.add(function(ed, e) {
76
 
                                if ( tinymce.isOpera || e.target.nodeName != 'IMG' ) {
77
 
                                        t.hideButtons();
78
 
                                        return;
 
63
                                var p;
 
64
 
 
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);
79
69
                                }
80
 
                                ed.plugins.wpeditimage.showButtons(e.target);
81
70
                        });
82
71
 
83
72
                        ed.onKeyPress.add(function(ed, e) {
84
73
                                var DL, DIV, P;
85
74
 
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 );
 
79
                                        else
 
80
                                                ed.dom.insertAfter( P, DL );
 
81
 
 
82
                                        if ( P.firstChild )
 
83
                                                ed.selection.select(P.firstChild);
 
84
                                        else
 
85
                                                ed.selection.select(P);
91
86
 
92
87
                                        tinymce.dom.Event.cancel(e);
93
 
                                        ed.selection.select(P);
94
88
                                        return false;
95
89
                                }
96
90
                        });
124
118
                                
125
119
                                div_cls = (cls == 'aligncenter') ? 'mceTemp mceIEcenter' : 'mceTemp';
126
120
 
127
 
                                return '<div class="'+div_cls+'"><dl id="'+id+'" class="wp-caption '+cls+'" style="width: '+(10+parseInt(w))+
 
121
                                return '<div class="'+div_cls+'" draggable><dl id="'+id+'" class="wp-caption '+cls+'" style="width: '+(10+parseInt(w))+
128
122
                                'px"><dt class="wp-caption-dt">'+c+'</dt><dd class="wp-caption-dd">'+cap+'</dd></dl></div>';
129
123
                        });
130
124
                },
149
143
                        });
150
144
                },
151
145
 
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');
154
 
 
155
 
                        if ( cls.indexOf('mceItem') != -1 || cls.indexOf('wpGallery') != -1 )
156
 
                                return;
157
 
 
158
 
                        vp = ed.dom.getViewPort(ed.getWin());
159
 
                        p1 = DOM.getPos(ed.getContentAreaContainer());
160
 
                        p2 = ed.dom.getPos(n);
161
 
 
162
 
                        X = Math.max(p2.x - vp.x, 0) + p1.x;
163
 
                        Y = Math.max(p2.y - vp.y, 0) + p1.y;
164
 
 
165
 
                        DOM.setStyles('wp_editbtns', {
166
 
                                'top' : Y+5+'px',
167
 
                                'left' : X+5+'px',
168
 
                                'display' : 'block'
169
 
                        });
170
 
 
171
 
                        t.btnsTout = window.setTimeout( function(){ed.plugins.wpeditimage.hideButtons();}, 5000 );
172
 
                },
173
 
 
174
 
                hideButtons : function() {
175
 
                        if ( tinymce.DOM.isHidden('wp_editbtns') ) return;
176
 
 
177
 
                        tinymce.DOM.hide('wp_editbtns');
178
 
                        window.clearTimeout(this.btnsTout);
179
 
                },
180
 
 
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;
183
148
 
184
149
                        DOM.remove('wp_editbtns');
185
150
 
186
 
                        wp_editbtns = DOM.add(document.body, 'div', {
 
151
                        DOM.add(document.body, 'div', {
187
152
                                id : 'wp_editbtns',
188
153
                                style : 'display:none;'
189
154
                        });
190
155
 
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',
194
159
                                width : '24',
196
161
                                title : ed.getLang('wpeditimage.edit_img')
197
162
                        });
198
163
 
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';
204
 
                        };
 
168
                        });
205
169
 
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',
209
173
                                width : '24',
211
175
                                title : ed.getLang('wpeditimage.del_img')
212
176
                        });
213
177
 
214
 
                        wp_delimgbtn.onmousedown = function(e) {
 
178
                        tinymce.dom.Event.add(dellButton, 'mousedown', function(e) {
215
179
                                var ed = tinyMCE.activeEditor, el = ed.selection.getNode(), p;
216
180
 
217
181
                                if ( el.nodeName == 'IMG' && ed.dom.getAttrib(el, 'class').indexOf('mceItem') == -1 ) {
219
183
                                                ed.dom.remove(p);
220
184
                                        else if ( (p = ed.dom.getParent(el, 'A')) && p.childNodes.length == 1 )
221
185
                                                ed.dom.remove(p);
222
 
                                        else ed.dom.remove(el);
 
186
                                        else
 
187
                                                ed.dom.remove(el);
223
188
 
224
 
                                        this.parentNode.style.display = 'none';
225
189
                                        ed.execCommand('mceRepaint');
226
190
                                        return false;
227
191
                                }
228
 
                        };
 
192
                        });
229
193
                },
230
194
 
231
195
                getInfo : function() {