/*\r
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
* @extends CKEDITOR.ui.dialog.uiElement\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>label</strong> (Required) The label string.</li>\r
html.push( '<label class="cke_dialog_ui_labeled_label' + requiredClass + '" ',\r
' id="'+ _.labelId + '"',\r
' for="' + _.inputId + '"',\r
- ' style="' + elementDefinition.labelStyle + '">',\r
+ ( elementDefinition.labelStyle ? ' style="' + elementDefinition.labelStyle + '"' : '' ) +'>',\r
elementDefinition.label,\r
'</label>',\r
- '<div class="cke_dialog_ui_labeled_content" role="presentation">',\r
+ '<div class="cke_dialog_ui_labeled_content"' + ( elementDefinition.controlStyle ? ' style="' + elementDefinition.controlStyle + '"' : '' ) + ' role="presentation">',\r
contentHtml.call( this, dialog, elementDefinition ),\r
'</div>' );\r
else\r
html : '<label class="cke_dialog_ui_labeled_label' + requiredClass + '"' +\r
' id="' + _.labelId + '"' +\r
' for="' + _.inputId + '"' +\r
- ' style="' + elementDefinition.labelStyle + '">' +\r
+ ( elementDefinition.labelStyle ? ' style="' + elementDefinition.labelStyle + '"' : '' ) +'>' +\r
CKEDITOR.tools.htmlEncode( elementDefinition.label ) +\r
'</span>'\r
},\r
{\r
type : 'html',\r
- html : '<span class="cke_dialog_ui_labeled_content">' +\r
+ html : '<span class="cke_dialog_ui_labeled_content"' + ( elementDefinition.controlStyle ? ' style="' + elementDefinition.controlStyle + '"' : '' ) + '>' +\r
contentHtml.call( this, dialog, elementDefinition ) +\r
'</span>'\r
}\r
* @extends CKEDITOR.ui.dialog.labeledElement\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>default</strong> (Optional) The default value.</li>\r
if ( elementDefinition.size )\r
attributes.size = elementDefinition.size;\r
\r
- if ( elementDefinition.controlStyle )\r
- attributes.style = elementDefinition.controlStyle;\r
+ if ( elementDefinition.inputStyle )\r
+ attributes.style = elementDefinition.inputStyle;\r
\r
// If user presses Enter in a text box, it implies clicking OK for the dialog.\r
var me = this, keyPressedOnMe = false;\r
* @example\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>rows</strong> (Optional) The number of rows displayed.\r
attributes.rows = elementDefinition.rows || 5;\r
attributes.cols = elementDefinition.cols || 20;\r
\r
+ if ( typeof elementDefinition.inputStyle != 'undefined' )\r
+ attributes.style = elementDefinition.inputStyle;\r
+\r
+\r
/** @ignore */\r
var innerHTML = function()\r
{\r
* @example\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>checked</strong> (Optional) Whether the checkbox is checked\r
if ( elementDefinition[ 'default' ] )\r
attributes.checked = 'checked';\r
\r
- if ( typeof myDefinition.controlStyle != 'undefined' )\r
- myDefinition.style = myDefinition.controlStyle;\r
+ if ( typeof myDefinition.inputStyle != 'undefined' )\r
+ myDefinition.style = myDefinition.inputStyle;\r
\r
_.checkbox = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'input', null, attributes );\r
- html.push( ' <label id="', labelId, '" for="', attributes.id, '">',\r
+ html.push( ' <label id="', labelId, '" for="', attributes.id, '"' + ( elementDefinition.labelStyle ? ' style="' + elementDefinition.labelStyle + '"' : '' ) + '>',\r
CKEDITOR.tools.htmlEncode( elementDefinition.label ),\r
'</label>' );\r
return html.join( '' );\r
* @extends CKEDITOR.ui.dialog.labeledElement\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>default</strong> (Required) The default value.</li>\r
cleanInnerDefinition( inputDefinition );\r
cleanInnerDefinition( labelDefinition );\r
\r
- if ( typeof inputDefinition.controlStyle != 'undefined' )\r
- inputDefinition.style = inputDefinition.controlStyle;\r
+ if ( typeof inputDefinition.inputStyle != 'undefined' )\r
+ inputDefinition.style = inputDefinition.inputStyle;\r
\r
children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) );\r
inputHtml.push( ' ' );\r
item[0] );\r
inputHtmlList.push( inputHtml.join( '' ) );\r
}\r
- new CKEDITOR.ui.dialog.hbox( dialog, [], inputHtmlList, html );\r
+ new CKEDITOR.ui.dialog.hbox( dialog, children, inputHtmlList, html );\r
return html.join( '' );\r
};\r
\r
* @extends CKEDITOR.ui.dialog.uiElement\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>label</strong> (Required) The button label.</li>\r
* @constructor\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>default</strong> (Required) The default value.</li>\r
for ( var i = 0, item ; i < elementDefinition.items.length && ( item = elementDefinition.items[i] ) ; i++ )\r
{\r
innerHTML.push( '<option value="',\r
- CKEDITOR.tools.htmlEncode( item[1] !== undefined ? item[1] : item[0] ), '" /> ',\r
+ CKEDITOR.tools.htmlEncode( item[1] !== undefined ? item[1] : item[0] ).replace( /"/g, '"' ), '" /> ',\r
CKEDITOR.tools.htmlEncode( item[0] ) );\r
}\r
\r
- if ( typeof myDefinition.controlStyle != 'undefined' )\r
- myDefinition.style = myDefinition.controlStyle;\r
+ if ( typeof myDefinition.inputStyle != 'undefined' )\r
+ myDefinition.style = myDefinition.inputStyle;\r
\r
_.select = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'select', null, attributes, innerHTML.join( '' ) );\r
return html.join( '' );\r
* @constructor\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>validate</strong> (Optional) The validation function.</li>\r
* @constructor\r
* @param {CKEDITOR.dialog} dialog\r
* Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>for</strong> (Required) The file input's page and element Id\r
* @extends CKEDITOR.ui.dialog.uiElement\r
* @name CKEDITOR.ui.dialog.html\r
* @param {CKEDITOR.dialog} dialog Parent dialog object.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition Element definition.\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition Element definition.\r
* Accepted fields:\r
* <ul>\r
* <li><strong>html</strong> (Required) HTML code of this element.</li>\r
* objects in childObjList.\r
* @param {Array} htmlList\r
* Array of HTML code that this element will output to.\r
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition\r
+ * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition\r
* The element definition. Accepted fields:\r
* <ul>\r
* <li><strong>label</strong> (Optional) The legend of the this fieldset.</li>\r
\r
getValue : function()\r
{\r
- return this.getInputElement().$.value;\r
+ return this.getInputElement().$.value || '';\r
},\r
\r
/***\r
CKEDITOR.dialog.addUIElement( 'html', commonBuilder );\r
CKEDITOR.dialog.addUIElement( 'fieldset', containerBuilder );\r
})();\r
+\r
+/**\r
+ * Fired when the value of the uiElement is changed\r
+ * @name CKEDITOR.ui.dialog.uiElement#change\r
+ * @event\r
+ */\r
+\r
+/**\r
+ * Fired when the inner frame created by the element is ready.\r
+ * Each time the button is used or the dialog is loaded a new\r
+ * form might be created.\r
+ * @name CKEDITOR.ui.dialog.fileButton#formLoaded\r
+ * @event\r
+ */\r