+++ /dev/null
-/*\r
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
-For licensing, see LICENSE.html or http://ckeditor.com/license\r
-*/\r
-\r
-(function()\r
-{\r
-\r
-function setupAdvParams( element )\r
-{\r
- var attrName = this.att;\r
-\r
- var value = element && element.hasAttribute( attrName ) && element.getAttribute( attrName ) || '';\r
-\r
- if ( value !== undefined )\r
- this.setValue( value );\r
-}\r
-\r
-function commitAdvParams()\r
-{\r
- // Dialogs may use different parameters in the commit list, so, by\r
- // definition, we take the first CKEDITOR.dom.element available.\r
- var element;\r
-\r
- for ( var i = 0 ; i < arguments.length ; i++ )\r
- {\r
- if ( arguments[ i ] instanceof CKEDITOR.dom.element )\r
- {\r
- element = arguments[ i ];\r
- break;\r
- }\r
- }\r
-\r
- if ( element )\r
- {\r
- var attrName = this.att,\r
- value = this.getValue();\r
-\r
- if ( value )\r
- element.setAttribute( attrName, value );\r
- else\r
- element.removeAttribute( attrName, value );\r
- }\r
-}\r
-\r
-CKEDITOR.plugins.add( 'dialogadvtab',\r
-{\r
- /**\r
- *\r
- * @param tabConfig\r
- * id, dir, classes, styles\r
- */\r
- createAdvancedTab : function( editor, tabConfig )\r
- {\r
- if ( !tabConfig )\r
- tabConfig = { id:1, dir:1, classes:1, styles:1 };\r
-\r
- var lang = editor.lang.common;\r
-\r
- var result =\r
- {\r
- id : 'advanced',\r
- label : lang.advancedTab,\r
- title : lang.advancedTab,\r
- elements :\r
- [\r
- {\r
- type : 'vbox',\r
- padding : 1,\r
- children : []\r
- }\r
- ]\r
- };\r
-\r
- var contents = [];\r
-\r
- if ( tabConfig.id || tabConfig.dir )\r
- {\r
- if ( tabConfig.id )\r
- {\r
- contents.push(\r
- {\r
- id : 'advId',\r
- att : 'id',\r
- type : 'text',\r
- label : lang.id,\r
- setup : setupAdvParams,\r
- commit : commitAdvParams\r
- });\r
- }\r
-\r
- if ( tabConfig.dir )\r
- {\r
- contents.push(\r
- {\r
- id : 'advLangDir',\r
- att : 'dir',\r
- type : 'select',\r
- label : lang.langDir,\r
- 'default' : '',\r
- style : 'width:100%',\r
- items :\r
- [\r
- [ lang.notSet, '' ],\r
- [ lang.langDirLTR, 'ltr' ],\r
- [ lang.langDirRTL, 'rtl' ]\r
- ],\r
- setup : setupAdvParams,\r
- commit : commitAdvParams\r
- });\r
- }\r
-\r
- result.elements[ 0 ].children.push(\r
- {\r
- type : 'hbox',\r
- widths : [ '50%', '50%' ],\r
- children : [].concat( contents )\r
- });\r
- }\r
-\r
- if ( tabConfig.styles || tabConfig.classes )\r
- {\r
- contents = [];\r
-\r
- if ( tabConfig.styles )\r
- {\r
- contents.push(\r
- {\r
- id : 'advStyles',\r
- att : 'style',\r
- type : 'text',\r
- label : lang.styles,\r
- 'default' : '',\r
-\r
- validate : CKEDITOR.dialog.validate.inlineStyle( lang.invalidInlineStyle ),\r
- onChange : function(){},\r
-\r
- getStyle : function( name, defaultValue )\r
- {\r
- var match = this.getValue().match( new RegExp( '(?:^|;)\\s*' + name + '\\s*:\\s*([^;]*)', 'i' ) );\r
- return match ? match[ 1 ] : defaultValue;\r
- },\r
-\r
- updateStyle : function( name, value )\r
- {\r
- var styles = this.getValue();\r
-\r
- var tmp = editor.document.createElement( 'span' );\r
- tmp.setAttribute( 'style', styles );\r
- tmp.setStyle( name, value );\r
- styles = CKEDITOR.tools.normalizeCssText( tmp.getAttribute( 'style' ) );\r
-\r
- this.setValue( styles, 1 );\r
- },\r
-\r
- setup : setupAdvParams,\r
-\r
- commit : commitAdvParams\r
-\r
- });\r
- }\r
-\r
- if ( tabConfig.classes )\r
- {\r
- contents.push(\r
- {\r
- type : 'hbox',\r
- widths : [ '45%', '55%' ],\r
- children :\r
- [\r
- {\r
- id : 'advCSSClasses',\r
- att : 'class',\r
- type : 'text',\r
- label : lang.cssClasses,\r
- 'default' : '',\r
- setup : setupAdvParams,\r
- commit : commitAdvParams\r
-\r
- }\r
- ]\r
- });\r
- }\r
-\r
- result.elements[ 0 ].children.push(\r
- {\r
- type : 'hbox',\r
- widths : [ '50%', '50%' ],\r
- children : [].concat( contents )\r
- });\r
- }\r
-\r
- return result;\r
- }\r
-});\r
-\r
-})();\r