Ticket #2803: 2803_2.patch
File 2803_2.patch, 4.4 KB (added by , 14 years ago) |
---|
-
_source/plugins/dialog/plugin.js
469 469 // Execute onLoad for the first show. 470 470 this.fireOnce( 'load', {} ); 471 471 this.fire( 'show', {} ); 472 473 // Save the initial values of the dialog. 474 this.foreach( function( contentObj ) { contentObj.setInitValue && contentObj.setInitValue(); } ); 472 475 }, 473 476 474 477 /** … … 498 501 return function(){ this.foreach( fn ); return this; }; 499 502 })(), 500 503 501 /**502 * Pushes the current values of all inputs in the dialog into the default stack.503 * @example504 * dialogObj.pushDefault();505 * @returns {CKEDITOR.dialog} The current dialog object.506 */507 pushDefault : (function()508 {509 var fn = function( widget ){ if ( widget.pushDefault ) widget.pushDefault(); };510 return function(){ this.foreach( fn ); return this; };511 })(),512 513 /**514 * Pops the current default values of all inputs in the dialog.515 * @example516 * dialogObj.popDefault();517 * @returns {CKEDITOR.dialog} The current dialog object.518 */519 popDefault : (function()520 {521 var fn = function( widget ){ if ( widget.popDefault ) widget.popDefault(); };522 return function(){ this.foreach( fn ); return this; };523 })(),524 525 504 setupContent : function() 526 505 { 527 506 var args = arguments; … … 585 564 CKEDITOR.dialog._.currentZIndex -= 10; 586 565 587 566 this.fire( 'hide', {} ); 567 568 // Reset the initial values of the dialog. 569 this.foreach( function( contentObj ) { contentObj.resetInitValue && contentObj.resetInitValue(); } ); 588 570 }, 589 571 590 572 /** -
_source/plugins/dialogui/plugin.js
12 12 var initPrivateObject = function( elementDefinition ) 13 13 { 14 14 this._ || ( this._ = {} ); 15 this._['default'] = [ elementDefinition['default'] || '' ];15 this._['default'] = this._.initValue = elementDefinition['default'] || ''; 16 16 var args = [ this._ ]; 17 17 for ( var i = 1 ; i < arguments.length ; i++ ) 18 18 args.push( arguments[i] ); … … 38 38 { 39 39 isChanged : function() 40 40 { 41 return this.getValue() != this.get Default();41 return this.getValue() != this.getInitValue(); 42 42 }, 43 43 44 44 reset : function() 45 45 { 46 this.setValue( this.get Default() );46 this.setValue( this.getInitValue() ); 47 47 }, 48 48 49 getDefault: function()49 setInitValue : function() 50 50 { 51 var defs = this._['default']; 52 return defs[ defs.length - 1 ]; 51 this._.initValue = this.getValue(); 53 52 }, 54 53 55 pushDefault: function()54 resetInitValue : function() 56 55 { 57 this._ ['default'].push( this.getValue() );56 this._.initValue = this._['default']; 58 57 }, 59 58 60 popDefault: function()59 getInitValue : function() 61 60 { 62 this._['default'].pop();61 return this._.initValue; 63 62 } 64 63 }, 65 64 commonEventProcessors = CKEDITOR.tools.extend( {}, CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors, … … 276 275 var html = [ '<div class="cke_dialog_ui_input_textarea"><textarea class="cke_dialog_ui_input_textarea" id="', domId, '" ' ]; 277 276 for ( var i in attributes ) 278 277 html.push( i + '="' + CKEDITOR.tools.htmlEncode( attributes[i] ) + '" ' ); 279 html.push( '>', CKEDITOR.tools.htmlEncode( me. getDefault()), '</textarea></div>' );278 html.push( '>', CKEDITOR.tools.htmlEncode( me._['default'] ), '</textarea></div>' ); 280 279 return html.join( '' ); 281 280 }; 282 281 CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML ); … … 356 355 return; 357 356 358 357 initPrivateObject.call( this, elementDefinition ); 359 if ( !this. getDefault())360 this._['default'] = [ elementDefinition.items[0][1] ];358 if ( !this._['default'] ) 359 this._['default'] = this._.initValue = elementDefinition.items[0][1]; 361 360 if ( elementDefinition.validate ) 362 361 this.validate = elementDefinition.valdiate; 363 362 var children = [], me = this; … … 392 391 name : commonName, 393 392 value : value 394 393 }; 395 if ( me. getDefault()== value )394 if ( me._['default'] == value ) 396 395 inputAttributes.checked = 'checked'; 397 396 cleanInnerDefinition( inputDefinition ); 398 397 cleanInnerDefinition( labelDefinition );