public/ckeditor/4.4dev/plugins/dialogui/plugin.js
function( dialog, elementDefinition, htmlList ) {
				if ( arguments.length < 3 )
					return;

				var _ = initPrivateObject.call( this, elementDefinition ),
					me = this;

				if ( elementDefinition.validate )
					this.validate = elementDefinition.validate;

				var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
				var onClick = myDefinition.onClick;
				myDefinition.className = ( myDefinition.className ? myDefinition.className + ' ' : '' ) + 'cke_dialog_ui_button';
				myDefinition.onClick = function( evt ) {
					var target = elementDefinition[ 'for' ]; // [ pageId, elementId ]
					if ( !onClick || onClick.call( this, evt ) !== false ) {
						dialog.getContentElement( target[ 0 ], target[ 1 ] ).submit();
						this.disable();
					}
				};

				dialog.on( 'load', function() {
					dialog.getContentElement( elementDefinition[ 'for' ][ 0 ], elementDefinition[ 'for' ][ 1 ] )._.buttons.push( me );
				} );

				CKEDITOR.ui.dialog.button.call( this, dialog, myDefinition, htmlList );
			}
function( dialog, elementDefinition, htmlList ) {
				if ( arguments.length < 3 )
					return;

				var _ = initPrivateObject.call( this, elementDefinition ),
					me = this;

				if ( elementDefinition.validate )
					this.validate = elementDefinition.validate;

				var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
				var onClick = myDefinition.onClick;
				myDefinition.className = ( myDefinition.className ? myDefinition.className + ' ' : '' ) + 'cke_dialog_ui_button';
				myDefinition.onClick = function( evt ) {
					var target = elementDefinition[ 'for' ]; // [ pageId, elementId ]
					if ( !onClick || onClick.call( this, evt ) !== false ) {
						dialog.getContentElement( target[ 0 ], target[ 1 ] ).submit();
						this.disable();
					}
				};

				dialog.on( 'load', function() {
					dialog.getContentElement( elementDefinition[ 'for' ][ 0 ], elementDefinition[ 'for' ][ 1 ] )._.buttons.push( me );
				} );

				CKEDITOR.ui.dialog.button.call( this, dialog, myDefinition, htmlList );
			}
function ( dialog , elementDefinition , htmlList ) { if ( arguments . length < 3 ) return ; var _ = initPrivateObject . call ( this , elementDefinition ) , me = this ; if ( elementDefinition . validate ) this . validate = elementDefinition . validate ; var myDefinition = CKEDITOR . tools . extend ( { } , elementDefinition ) ; var onClick = myDefinition . onClick ; myDefinition . className = ( myDefinition . className ? myDefinition . className + ' ' : '' ) + 'cke_dialog_ui_button' ; myDefinition . onClick = function ( evt ) { var target = elementDefinition [ 'for' ] ; // [ pageId, elementId ]
 if ( ! onClick || onClick . call ( this , evt ) !== false ) { dialog . getContentElement ( target [ 0 ] , target [ 1 ] ) . submit ( ) ; this . disable ( ) ; } } ; dialog . on ( 'load' , function ( ) { dialog . getContentElement ( elementDefinition [ 'for' ] [ 0 ] , elementDefinition [ 'for' ] [ 1 ] ) . _ . buttons . push ( me ) ; } ) ; CKEDITOR . ui . dialog . button . call ( this , dialog , myDefinition , htmlList ) ; }
A button for submitting the file in a file upload input.

@class CKEDITOR.ui.dialog.fileButton
@extends CKEDITOR.ui.dialog.button
@constructor Creates a fileButton class instance.
@param {CKEDITOR.dialog} dialog Parent dialog window object.
@param {CKEDITOR.dialog.definition.uiElement} elementDefinition
The element definition. Accepted fields:

* `for` (Required) The file input's page and element ID
to associate with, in a two-item array format: `[ 'page_id', 'element_id' ]`.
* `validate` (Optional) The validation function.

@param {Array} htmlList List of HTML code to output to.
A button for submitting the file in a file upload input .