X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fdialogadvtab%2Fplugin.js;h=39f2b80d8f7eec4b7a77c046dc37e96b322cb316;hb=fb481ba0a7d298e3e7b9034fcb9f2afdc6e8e796;hp=deed8fce6b5193a55e41a03b291742805e84f276;hpb=9873d66421922c7aef8be0f5d2ab51e547b19e66;p=ckeditor.git diff --git a/_source/plugins/dialogadvtab/plugin.js b/_source/plugins/dialogadvtab/plugin.js index deed8fc..39f2b80 100644 --- a/_source/plugins/dialogadvtab/plugin.js +++ b/_source/plugins/dialogadvtab/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -98,7 +98,7 @@ CKEDITOR.plugins.add( 'dialogadvtab', type : 'select', label : lang.langDir, 'default' : '', - style : 'width:110px', + style : 'width:100%', items : [ [ lang.notSet, '' ], @@ -122,7 +122,7 @@ CKEDITOR.plugins.add( 'dialogadvtab', { contents = []; - if ( tabConfig.id ) + if ( tabConfig.styles ) { contents.push( { @@ -132,11 +132,12 @@ CKEDITOR.plugins.add( 'dialogadvtab', label : lang.styles, 'default' : '', + validate : CKEDITOR.dialog.validate.inlineStyle( lang.invalidInlineStyle ), onChange : function(){}, getStyle : function( name, defaultValue ) { - var match = this.getValue().match( new RegExp( name + '\\s*:\s*([^;]*)', 'i') ); + var match = this.getValue().match( new RegExp( name + '\\s*:\\s*([^;]*)', 'i') ); return match ? match[ 1 ] : defaultValue; }, @@ -144,23 +145,12 @@ CKEDITOR.plugins.add( 'dialogadvtab', { var styles = this.getValue(); - // Remove the current value. - if ( styles ) - { - styles = styles - .replace( new RegExp( '\\s*' + name + '\s*:[^;]*(?:$|;\s*)', 'i' ), '' ) - .replace( /^[;\s]+/, '' ) - .replace( /\s+$/, '' ); - } - - if ( value ) - { - styles && !(/;\s*$/).test( styles ) && ( styles += '; ' ); - styles += name + ': ' + value; - } - - this.setValue( styles, true ); + var tmp = editor.document.createElement( 'span' ); + tmp.setAttribute( 'style', styles ); + tmp.setStyle( name, value ); + styles = CKEDITOR.tools.normalizeCssText( tmp.getAttribute( 'style' ) ); + this.setValue( styles, 1 ); }, setup : setupAdvParams,