Ticket #3230: 3230.patch
File 3230.patch, 2.5 KB (added by , 16 years ago) |
---|
-
_source/plugins/dialogui/plugin.js
452 452 { 453 453 var element = this.getElement(); 454 454 455 element.on( 'mousedown', function( evt ) 456 { 457 // If button is disabled, don't do anything. 458 if ( me._.disabled ) 459 return; 460 461 // Store the currently active button. 462 CKEDITOR.ui.dialog.button._.activeButton = [ me, me.getElement() ]; 463 } ); 464 465 element.on( 'keydown', function( evt ) 466 { 467 // Click if Enter is pressed. 468 if ( evt.data.$.keyCode == 13 ) 469 { 470 me.fire( 'click', { dialog : me.getDialog() } ); 471 evt.data.preventDefault(); 472 } 473 } ); 474 475 if ( !eventInfo.data.buttonHandlerRegistered ) 455 (function() 476 456 { 477 CKEDITOR.document.on( 'mouseup', function( evt )457 element.on( 'click', function( evt ) 478 458 { 479 var target = evt.data.getTarget(), 480 activeButton = CKEDITOR.ui.dialog.button._.activeButton; 481 482 // If there's no active button, bail out. 483 if ( !activeButton ) 484 return; 485 486 // Fire the click event - but only if the 487 // active button is the same as target. 488 if ( activeButton[1].equals( target.getAscendant( 'a' ) ) ) 489 activeButton[0].fire( 'click', { dialog : activeButton[0].getDialog() } ); 490 491 // Clear active button flag. 492 CKEDITOR.ui.dialog.button._.activeButton = null; 459 me.fire( 'click', { dialog : me.getDialog() } ); 493 460 } ); 461 })(); 494 462 495 eventInfo.data.buttonHandlerRegistered = true; 496 } 497 498 this.getElement().getFirst().unselectable(); 463 element.unselectable(); 499 464 }, this ); 500 465 501 466 var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition ); … … 510 475 null, 511 476 { 512 477 style : elementDefinition.style, 513 href : 'javascript:void(0) ;',478 href : 'javascript:void(0)', 514 479 title : elementDefinition.label, 515 480 hidefocus : 'true' 516 481 }, … … 1258 1223 1259 1224 CKEDITOR.ui.dialog.fileButton.prototype = new CKEDITOR.ui.dialog.button; 1260 1225 1261 CKEDITOR.ui.dialog.button._ = { activeButton : null };1262 1263 1226 CKEDITOR.dialog.addUIElement( 'text', textBuilder ); 1264 1227 CKEDITOR.dialog.addUIElement( 'password', textBuilder ); 1265 1228 CKEDITOR.dialog.addUIElement( 'textarea', commonBuilder );