X-Git-Url: https://scm.cri.ensmp.fr/git/ckeditor.git/blobdiff_plain/e11f66eb655db8339a2d9b197b89f6c3b26099e1..579f65bc95a773bc6f8da75f6849ea49f365368b:/skins/ckeditor/_source/plugins/showborders/plugin.js diff --git a/skins/ckeditor/_source/plugins/showborders/plugin.js b/skins/ckeditor/_source/plugins/showborders/plugin.js deleted file mode 100644 index dc924e1..0000000 --- a/skins/ckeditor/_source/plugins/showborders/plugin.js +++ /dev/null @@ -1,207 +0,0 @@ -/* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -/** - * @fileOverview The "show border" plugin. The command display visible outline - * border line around all table elements if table doesn't have a none-zero 'border' attribute specified. - */ - -(function() -{ - var showBorderClassName = 'cke_show_border', - cssStyleText, - cssTemplate = - // TODO: For IE6, we don't have child selector support, - // where nested table cells could be incorrect. - ( CKEDITOR.env.ie6Compat ? - [ - '.%1 table.%2,', - '.%1 table.%2 td, .%1 table.%2 th', - '{', - 'border : #d3d3d3 1px dotted', - '}' - ] : - [ - '.%1 table.%2,', - '.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,', - '.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,', - '.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,', - '.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th', - '{', - 'border : #d3d3d3 1px dotted', - '}' - ] ).join( '' ); - - cssStyleText = cssTemplate.replace( /%2/g, showBorderClassName ).replace( /%1/g, 'cke_show_borders ' ); - - var commandDefinition = - { - preserveState : true, - editorFocus : false, - readOnly: 1, - - exec : function ( editor ) - { - this.toggleState(); - this.refresh( editor ); - }, - - refresh : function( editor ) - { - if ( editor.document ) - { - var funcName = ( this.state == CKEDITOR.TRISTATE_ON ) ? 'addClass' : 'removeClass'; - editor.document.getBody()[ funcName ]( 'cke_show_borders' ); - } - } - }; - - CKEDITOR.plugins.add( 'showborders', - { - requires : [ 'wysiwygarea' ], - modes : { 'wysiwyg' : 1 }, - - init : function( editor ) - { - - var command = editor.addCommand( 'showborders', commandDefinition ); - command.canUndo = false; - - if ( editor.config.startupShowBorders !== false ) - command.setState( CKEDITOR.TRISTATE_ON ); - - editor.addCss( cssStyleText ); - - // Refresh the command on setData. - editor.on( 'mode', function() - { - if ( command.state != CKEDITOR.TRISTATE_DISABLED ) - command.refresh( editor ); - }, null, null, 100 ); - - // Refresh the command on wysiwyg frame reloads. - editor.on( 'contentDom', function() - { - if ( command.state != CKEDITOR.TRISTATE_DISABLED ) - command.refresh( editor ); - }); - - editor.on( 'removeFormatCleanup', function( evt ) - { - var element = evt.data; - if ( editor.getCommand( 'showborders' ).state == CKEDITOR.TRISTATE_ON && - element.is( 'table' ) && ( !element.hasAttribute( 'border' ) || parseInt( element.getAttribute( 'border' ), 10 ) <= 0 ) ) - element.addClass( showBorderClassName ); - }); - }, - - afterInit : function( editor ) - { - var dataProcessor = editor.dataProcessor, - dataFilter = dataProcessor && dataProcessor.dataFilter, - htmlFilter = dataProcessor && dataProcessor.htmlFilter; - - if ( dataFilter ) - { - dataFilter.addRules( - { - elements : - { - 'table' : function( element ) - { - var attributes = element.attributes, - cssClass = attributes[ 'class' ], - border = parseInt( attributes.border, 10 ); - - if ( !border || border <= 0 ) - attributes[ 'class' ] = ( cssClass || '' ) + ' ' + showBorderClassName; - } - } - } ); - } - - if ( htmlFilter ) - { - htmlFilter.addRules( - { - elements : - { - 'table' : function( table ) - { - var attributes = table.attributes, - cssClass = attributes[ 'class' ]; - - cssClass && ( attributes[ 'class' ] = - cssClass.replace( showBorderClassName, '' ) - .replace( /\s{2}/, ' ' ) - .replace( /^\s+|\s+$/, '' ) ); - } - } - } ); - } - } - }); - - // Table dialog must be aware of it. - CKEDITOR.on( 'dialogDefinition', function( ev ) - { - var dialogName = ev.data.name; - - if ( dialogName == 'table' || dialogName == 'tableProperties' ) - { - var dialogDefinition = ev.data.definition, - infoTab = dialogDefinition.getContents( 'info' ), - borderField = infoTab.get( 'txtBorder' ), - originalCommit = borderField.commit; - - borderField.commit = CKEDITOR.tools.override( originalCommit, function( org ) - { - return function( data, selectedTable ) - { - org.apply( this, arguments ); - var value = parseInt( this.getValue(), 10 ); - selectedTable[ ( !value || value <= 0 ) ? 'addClass' : 'removeClass' ]( showBorderClassName ); - }; - } ); - - var advTab = dialogDefinition.getContents( 'advanced' ), - classField = advTab && advTab.get( 'advCSSClasses' ); - - if ( classField ) - { - classField.setup = CKEDITOR.tools.override( classField.setup, function( originalSetup ) - { - return function() - { - originalSetup.apply( this, arguments ); - this.setValue( this.getValue().replace( /cke_show_border/, '' ) ); - }; - }); - - classField.commit = CKEDITOR.tools.override( classField.commit, function( originalCommit ) - { - return function( data, element ) - { - originalCommit.apply( this, arguments ); - - if ( !parseInt( element.getAttribute( 'border' ), 10 ) ) - element.addClass( 'cke_show_border' ); - }; - }); - } - } - }); - -} )(); - -/** - * Whether to automatically enable the "show borders" command when the editor loads. - * (ShowBorders in FCKeditor) - * @name CKEDITOR.config.startupShowBorders - * @type Boolean - * @default true - * @example - * config.startupShowBorders = false; - */