Opened 8 years ago

Closed 7 years ago

#4773 closed Bug (fixed)

fileBrowser plugin overwrites any onClick function for a fileButton element

Reported by: alfonsoml Owned by: alfonsoml
Priority: Normal Milestone: CKEditor 3.2
Component: UI : Dialogs Version: 3.0.1
Keywords: Confirmed Review+ Cc:


The fileBrowser plugin applies its own "fileUpload" function to the onClick handler of the fileButtons, without any regards to any such handler specified in the definition of the object.

Unfortunately, the big anonymous function makes quite hard to workaround this or other improvements from a plugin.

The solution here is to change

if ( url )
	element.onClick = uploadFile ;
	element.filebrowser.url = url;

to a wrapper that includes the previous handler:

if ( url )
	var onClick = element.onClick;
	element.onClick = function( evt )
		// "element" here means the definition object, so we need to find the correct
		// button to scope the event call
		var sender = evt.sender
		if ( onClick && sender, evt ) === false )
			return false;
		return sender, evt );

	element.filebrowser.url = url;

Attachments (1)

4773.patch (992 bytes) - added by alfonsoml 7 years ago.
Proposed patch

Download all attachments as: .zip

Change History (5)

comment:1 Changed 8 years ago by garry.yao

  • Component changed from General to UI : Dialogs
  • Keywords Confirmed added
  • Milestone set to CKEditor 3.2

Changed 7 years ago by alfonsoml

Proposed patch

comment:2 Changed 7 years ago by alfonsoml

  • Keywords Review? added; HasPatch removed
  • Owner set to alfonsoml
  • Status changed from new to assigned

comment:3 Changed 7 years ago by garry.yao

  • Keywords Review+ added; Review? removed

Please compensate the missing semicolon after L286 before commit.

comment:4 Changed 7 years ago by alfonsoml

  • Resolution set to fixed
  • Status changed from assigned to closed

Thanks for the tip
Fixed with [4923]

Note: See TracTickets for help on using tickets.
© 2003 – 2017 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy