return;\r
}\r
\r
- if ( !_.committed )\r
- {\r
- _.list.commit();\r
- _.committed = 1;\r
- }\r
+ !_.committed && this.commit();\r
\r
var value = this.getValue();\r
if ( value )\r
var element = CKEDITOR.document.getById( id ).getChild( 1 );\r
element.focus();\r
},\r
- execute : clickFn\r
+ clickFn : clickFn\r
};\r
\r
editor.on( 'mode', function()\r
ev.preventDefault();\r
});\r
\r
+ // For clean up\r
+ instance.keyDownFn = keyDownFn;\r
+\r
output.push(\r
'<span class="cke_rcombo">',\r
'<span id=', id );\r
me.onOpen();\r
};\r
\r
- panel.onHide = function()\r
+ panel.onHide = function( preventOnClose )\r
{\r
if ( me.className )\r
this.element.getFirst().removeClass( me.className + '_panel' );\r
\r
- me.setState( CKEDITOR.TRISTATE_OFF );\r
+ me.setState( me.modes && me.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED );\r
\r
me._.on = 0;\r
\r
- if ( me.onClose )\r
+ if ( !preventOnClose && me.onClose )\r
me.onClose();\r
};\r
\r
commit : function()\r
{\r
this._.list.commit();\r
+ this._.committed = 1;\r
},\r
\r
setState : function( state )\r