JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
note findings on acceptable attributes
[peach-html5-editor.git] / editor.coffee
index b78f6a0..72ec0c6 100644 (file)
@@ -19,7 +19,7 @@ overlay_padding = 10
 
 timeout = (ms, cb) -> return setTimeout cb, ms
 
-# xml 1.0 says:
+# xml 1.0 spec, chromium and firefox accept these, plus lots of unicode chars
 valid_attr_regex = new RegExp '^[a-zA-Z_:][-a-zA-Z0-9_:.]*$'
 # html5 spec is much more lax, but chromium won't let me make at attribute with the name "4"
 js_attr_regex = new RegExp '^[oO][nN].'
@@ -665,6 +665,8 @@ class PeachHTML5Editor
                new_cursor = find_loc_cursor_position @tree, xy
                if new_cursor?
                        @move_cursor new_cursor
+               else
+                       @kill_cursor()
                return false
        ondoubleclick: (e) ->
                return false
@@ -794,7 +796,12 @@ class PeachHTML5Editor
                @overlay.appendChild @cursor_el
                @cursor_visible = true
                @cursor_el.style.left = "#{loc.x + overlay_padding - 1}px"
-               @cursor_el.style.top = "#{loc.y + overlay_padding}px"
+               if loc.h < 5
+                       height = 12
+               else
+                       height = loc.h
+               @cursor_el.style.top = "#{loc.y + overlay_padding + Math.round(height * .07)}px"
+               @cursor_el.style.height = "#{Math.round height * 0.82}px"
                @matt cursor[0]
        matt: (n) ->
                while @matting.length > 0