X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=inline;f=_source%2Fplugins%2Frichcombo%2Fplugin.js;h=7978abeb085dee6eb8f247db8ec5f2f0559bf008;hb=48b1db88210b4160dce439c6e3e32e14af8c106b;hp=bcc5777bf28254ac34d52c6a4ba5e798ab3db206;hpb=039a051ccf3901311661022a30afd60fc38130c9;p=ckeditor.git diff --git a/_source/plugins/richcombo/plugin.js b/_source/plugins/richcombo/plugin.js index bcc5777..7978abe 100644 --- a/_source/plugins/richcombo/plugin.js +++ b/_source/plugins/richcombo/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -106,12 +106,7 @@ CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass( return; } - if ( !_.committed ) - { - _.list.commit(); - _.committed = 1; - } - + this.commit(); var value = this.getValue(); if ( value ) _.list.mark( value ); @@ -136,6 +131,7 @@ CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass( editor.on( 'mode', function() { this.setState( this.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); + this.setValue( '' ); }, this ); @@ -201,7 +197,7 @@ CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass( '' + '' + this.label + '' + '' + - '' + ( CKEDITOR.env.hc ? '' : '' ) + '' + // BLACK DOWN-POINTING TRIANGLE + '' + ( CKEDITOR.env.hc ? '' : CKEDITOR.env.air ? ' ' : '' ) + '' + // BLACK DOWN-POINTING TRIANGLE '' + '' + '' ); @@ -244,7 +240,7 @@ CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass( if ( me.className ) this.element.getFirst().removeClass( me.className + '_panel' ); - me.setState( CKEDITOR.TRISTATE_OFF ); + me.setState( me.modes && me.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); me._.on = 0; @@ -294,16 +290,18 @@ CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass( this._.value = value; var textElement = this.document.getById( 'cke_' + this.id + '_text' ); - - if ( !( value || text ) ) + if ( textElement ) { - text = this.label; - textElement.addClass( 'cke_inline_label' ); - } - else - textElement.removeClass( 'cke_inline_label' ); + if ( !( value || text ) ) + { + text = this.label; + textElement.addClass( 'cke_inline_label' ); + } + else + textElement.removeClass( 'cke_inline_label' ); - textElement.setHtml( typeof text != 'undefined' ? text : value ); + textElement.setHtml( typeof text != 'undefined' ? text : value ); + } }, getValue : function() @@ -349,7 +347,13 @@ CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass( commit : function() { - this._.list.commit(); + if ( !this._.committed ) + { + this._.list.commit(); + this._.committed = 1; + CKEDITOR.ui.fire( 'ready', this ); + } + this._.committed = 1; }, setState : function( state )