JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.5.1
[ckeditor.git] / _source / plugins / placeholder / plugin.js
index 5ea9b24..fd13806 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
@@ -58,8 +58,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                        editor.on( 'doubleclick', function( evt )\r
                                {\r
-                                       var element = evt.data.element;\r
-                                       if ( element.data( 'cke-placeholder' ) )\r
+                                       if ( CKEDITOR.plugins.placeholder.getSelectedPlaceHoder( editor ) )\r
                                                evt.data.dialog = 'editplaceholder';\r
                                });\r
 \r
@@ -156,5 +155,17 @@ CKEDITOR.plugins.placeholder =
                }\r
                else\r
                        editor.insertElement( element );\r
+\r
+               return null;\r
+       },\r
+\r
+       getSelectedPlaceHoder : function( editor )\r
+       {\r
+               var range = editor.getSelection().getRanges()[ 0 ];\r
+               range.shrink( CKEDITOR.SHRINK_TEXT );\r
+               var node = range.startContainer;\r
+               while( node && !( node.type == CKEDITOR.NODE_ELEMENT && node.data( 'cke-placeholder' ) ) )\r
+                       node = node.getParent();\r
+               return node;\r
        }\r
 };\r