|
194 | 194 |
|
195 | 195 | var onImgLoadEvent = function() {
|
196 | 196 | // Image is ready.
|
197 |
| - var original = this.originalElement; |
| 197 | + var original = this.originalElement, |
| 198 | + loader = CKEDITOR.document.getById( imagePreviewLoaderId ); |
| 199 | + |
198 | 200 | original.setCustomData( 'isReady', 'true' );
|
199 | 201 | original.removeListener( 'load', onImgLoadEvent );
|
200 | 202 | original.removeListener( 'error', onImgLoadErrorEvent );
|
201 | 203 | original.removeListener( 'abort', onImgLoadErrorEvent );
|
202 | 204 |
|
203 |
| - // Hide loader |
204 |
| - CKEDITOR.document.getById( imagePreviewLoaderId ).setStyle( 'display', 'none' ); |
| 205 | + // Hide loader. |
| 206 | + if ( loader ) |
| 207 | + loader.setStyle( 'display', 'none' ); |
205 | 208 |
|
206 | 209 | // New image -> new domensions
|
207 | 210 | if ( !this.dontResetSize )
|
|
218 | 221 |
|
219 | 222 | var onImgLoadErrorEvent = function() {
|
220 | 223 | // Error. Image is not loaded.
|
221 |
| - var original = this.originalElement; |
| 224 | + var original = this.originalElement, |
| 225 | + loader = CKEDITOR.document.getById( imagePreviewLoaderId ); |
| 226 | + |
222 | 227 | original.removeListener( 'load', onImgLoadEvent );
|
223 | 228 | original.removeListener( 'error', onImgLoadErrorEvent );
|
224 | 229 | original.removeListener( 'abort', onImgLoadErrorEvent );
|
|
229 | 234 | if ( this.preview )
|
230 | 235 | this.preview.setAttribute( 'src', noimage );
|
231 | 236 |
|
232 |
| - // Hide loader |
233 |
| - CKEDITOR.document.getById( imagePreviewLoaderId ).setStyle( 'display', 'none' ); |
| 237 | + // Hide loader. |
| 238 | + if ( loader ) |
| 239 | + loader.setStyle( 'display', 'none' ); |
| 240 | + |
234 | 241 | switchLockRatio( this, false ); // Unlock.
|
235 | 242 | };
|
236 | 243 |
|
|
264 | 271 | var editor = this.getParentEditor(),
|
265 | 272 | sel = editor.getSelection(),
|
266 | 273 | element = sel && sel.getSelectedElement(),
|
267 |
| - link = element && editor.elementPath( element ).contains( 'a', 1 ); |
| 274 | + link = element && editor.elementPath( element ).contains( 'a', 1 ), |
| 275 | + loader = CKEDITOR.document.getById( imagePreviewLoaderId ); |
| 276 | + |
| 277 | + // Hide loader. |
| 278 | + if ( loader ) |
| 279 | + loader.setStyle( 'display', 'none' ); |
268 | 280 |
|
269 |
| - //Hide loader. |
270 |
| - CKEDITOR.document.getById( imagePreviewLoaderId ).setStyle( 'display', 'none' ); |
271 | 281 | // Create the preview before setup the dialog contents.
|
272 | 282 | previewPreloader = new CKEDITOR.dom.element( 'img', editor.document );
|
273 | 283 | this.preview = CKEDITOR.document.getById( previewImageId );
|
|
464 | 474 | dialog = this.getDialog();
|
465 | 475 | var original = dialog.originalElement;
|
466 | 476 |
|
467 |
| - dialog.preview.removeStyle( 'display' ); |
| 477 | + if ( dialog.preview ) { |
| 478 | + dialog.preview.removeStyle( 'display' ); |
| 479 | + } |
468 | 480 |
|
469 | 481 | original.setCustomData( 'isReady', 'false' );
|
470 |
| - // Show loader |
| 482 | + // Show loader. |
471 | 483 | var loader = CKEDITOR.document.getById( imagePreviewLoaderId );
|
472 | 484 | if ( loader )
|
473 | 485 | loader.setStyle( 'display', '' );
|
|
477 | 489 | original.on( 'abort', onImgLoadErrorEvent, dialog );
|
478 | 490 | original.setAttribute( 'src', newUrl );
|
479 | 491 |
|
480 |
| - // Query the preloader to figure out the url impacted by based href. |
481 |
| - previewPreloader.setAttribute( 'src', newUrl ); |
482 |
| - dialog.preview.setAttribute( 'src', previewPreloader.$.src ); |
483 |
| - updatePreview( dialog ); |
| 492 | + if ( dialog.preview ) { |
| 493 | + // Query the preloader to figure out the url impacted by based href. |
| 494 | + previewPreloader.setAttribute( 'src', newUrl ); |
| 495 | + dialog.preview.setAttribute( 'src', previewPreloader.$.src ); |
| 496 | + updatePreview( dialog ); |
| 497 | + } |
484 | 498 | }
|
485 | 499 | // Dont show preview if no URL given.
|
486 | 500 | else if ( dialog.preview ) {
|
|
0 commit comments