Roo/form/HtmlEditor.js
authorAlan Knowles <alan@akbkhome.com>
Mon, 29 Aug 2011 23:59:28 +0000 (07:59 +0800)
committerAlan Knowles <alan@akbkhome.com>
Mon, 29 Aug 2011 23:59:28 +0000 (07:59 +0800)
Roo/form/HtmlEditor.js

index 6649b7b..03cf8de 100644 (file)
@@ -881,24 +881,15 @@ Roo.form.HtmlEditor = Roo.extend(Roo.form.Field, {
      *  '-1' = before
      *  '0' = hits..
      *  '1' = after.
-     *   [ -- selected range --- ]
-     *                 [node]
-     *    (ss) sel.START before> (or hits) node.START
-     *       and
-     *   (ee) sel.END  after> (or hits) node.END
+     *         [ -- selected range --- ]
+     *   [fail]                        [fail]
      *
+     *    basically..
+     *      if end is before start or  hits it. fail.
+     *      if start is after end or hits it fail.
      *
-     *   [ -- selected range --- ]
-     * [node]
-     *    (ss) sel.START  after> node.START
-     *       and
-     *   (ee) sel.END  after> node.END
-     *    
-     *   [ -- selected range --- ]
-     *                        [node]
-     *    (ss) sel.START  before< (or hits) node.START
-     *       and
-     *   (ee) sel.END  before< (or hits) node.END
+     *   if either hits (but other is outside. - then it's not 
+     *   
      *    
      **/
     
@@ -915,11 +906,12 @@ Roo.form.HtmlEditor = Roo.extend(Roo.form.Field, {
         }
         // [ -- selected range --- ]
         //                 [node]
-        var ss = range.compareBoundaryPoints(Range.START_TO_START, nodeRange) ;
-        var ee = range.compareBoundaryPoints(Range.END_TO_END, nodeRange) ;
-        
-        return (ss  < 1 && ee > -1) ||  (ss > -1 && ee > -1) || (ss < 1 && ee < 1);
+        // node start inside?
+     
+        var es = range.compareBoundaryPoints(Range.END_TO_START, nodeRange) ;
+        var se = range.compareBoundaryPoints(Range.START_TO_END, nodeRange) ;
         
+        return !(es < 1 && se > -1);     
         
          
     },