JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.6.6
[ckeditor.git] / _source / plugins / indent / plugin.js
index c36370c..e5db0b2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\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
@@ -15,10 +15,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
        function onSelectionChange( evt )\r
        {\r
-               var editor = evt.editor;\r
+               if ( evt.editor.readOnly )\r
+                       return null;\r
 \r
-               var elementPath = evt.data.path,\r
-                               list = elementPath && elementPath.contains( listNodeNames );\r
+               var editor = evt.editor,\r
+                       elementPath = evt.data.path,\r
+                       list = elementPath && elementPath.contains( listNodeNames ),\r
+                       firstBlock = elementPath.block || elementPath.blockLimit;\r
 \r
                if ( list )\r
                                return this.setState( CKEDITOR.TRISTATE_OFF );\r
@@ -26,8 +29,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                if ( !this.useIndentClasses && this.name == 'indent' )\r
                        return this.setState( CKEDITOR.TRISTATE_OFF );\r
 \r
-               var path = evt.data.path,\r
-                       firstBlock = path.block || path.blockLimit;\r
                if ( !firstBlock )\r
                        return this.setState( CKEDITOR.TRISTATE_DISABLED );\r
 \r
@@ -79,7 +80,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
        function isListItem( node )\r
        {\r
-               return node.type = CKEDITOR.NODE_ELEMENT && node.is( 'li' );\r
+               return node.type == CKEDITOR.NODE_ELEMENT && node.is( 'li' );\r
        }\r
 \r
        indentCommand.prototype = {\r
@@ -141,8 +142,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                {\r
                                        listArray[ i ].indent += indentOffset;\r
                                        // Make sure the newly created sublist get a brand-new element of the same type. (#5372)\r
-                                       var listRoot = listArray[ i ].parent;\r
-                                       listArray[ i ].parent = new CKEDITOR.dom.element( listRoot.getName(), listRoot.getDocument() );\r
+                                       if ( indentOffset > 0 )\r
+                                       {\r
+                                               var listRoot = listArray[ i ].parent;\r
+                                               listArray[ i ].parent = new CKEDITOR.dom.element( listRoot.getName(), listRoot.getDocument() );\r
+                                       }\r
                                }\r
 \r
                                for ( i = lastItem.getCustomData( 'listarray_index' ) + 1 ;\r
@@ -453,7 +457,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  * and instead the {@link #indentUnit} and {@link #indentOffset} properties will be used.\r
  * @name CKEDITOR.config.indentClasses\r
  * @type Array\r
- * default null\r
+ * @default null\r
  * @example\r
  * // Use the classes 'Indent1', 'Indent2', 'Indent3'\r
  * config.indentClasses = ['Indent1', 'Indent2', 'Indent3'];\r