JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.4.3
[ckeditor.git] / _source / plugins / justify / plugin.js
index ad134c5..2de9b0b 100644 (file)
@@ -87,8 +87,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                var editor = e.editor;\r
 \r
                var range = new CKEDITOR.dom.range( editor.document );\r
-               range.setStartBefore( e.data );\r
-               range.setEndAfter( e.data );\r
+               range.setStartBefore( e.data.node );\r
+               range.setEndAfter( e.data.node );\r
 \r
                var walker = new CKEDITOR.dom.walker( range ),\r
                        node;\r
@@ -98,7 +98,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        if ( node.type == CKEDITOR.NODE_ELEMENT )\r
                        {\r
                                // A child with the defined dir is to be ignored.\r
-                               if ( !node.equals( e.data ) && node.getDirection() )\r
+                               if ( !node.equals( e.data.node ) && node.getDirection() )\r
                                {\r
                                        range.setStartAfter( node );\r
                                        walker = new CKEDITOR.dom.walker( range );\r
@@ -106,6 +106,24 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                }\r
 \r
                                // Switch the alignment.\r
+                               var classes = editor.config.justifyClasses;\r
+                               if ( classes )\r
+                               {\r
+                                       // The left align class.\r
+                                       if ( node.hasClass( classes[ 0 ] ) )\r
+                                       {\r
+                                               node.removeClass( classes[ 0 ] );\r
+                                               node.addClass( classes[ 2 ] );\r
+                                       }\r
+                                       // The right align class.\r
+                                       else if ( node.hasClass( classes[ 2 ] ) )\r
+                                       {\r
+                                               node.removeClass( classes[ 2 ] );\r
+                                               node.addClass( classes[ 0 ] );\r
+                                       }\r
+                               }\r
+\r
+                               // Always switch CSS margins.\r
                                var style = 'text-align';\r
                                var align = node.getStyle( style );\r
 \r