0
Fork 0
mirror of https://github.com/fastmail/Squire.git synced 2025-01-05 14:20:08 -05:00
Commit graph

213 commits

Author SHA1 Message Date
Neil Jenkins
6b4dda816e Make into a JS class for multiple instantiation.
* If you load the squire.js script into a top-level page rather than an iframe,
  it will add a Squire constructor to the global scope.
* The Squire constructor can be used to instantiate multiple instances on the
  same page without having to load/parse/execute the full code every time.
* For each instance, create a new iframe, then call `new Squire( document )`,
  with the document node for each iframe.
2013-06-20 23:15:18 +10:00
Neil Jenkins
7812b8db23 Turn Range prototype extensions into functions.
A step towards being able to share code between multiple concurrent instances of
the editor. Also reduces minified size slightly.
2013-06-20 21:03:01 +10:00
Neil Jenkins
dbda1fa4ed On paste, ignore image if text/html present.
If you copy a portion of text from word, it includes an image version of the text as well as an HTML version. On paste, we now ignore the image
representation on the clipboard if an HTML representation is present, so that
the text pastes as expected, rather than as an image.
2013-06-03 15:34:51 +10:00
Neil Jenkins
946afc9a17 Support add/removing listeners whilst firing event
If you removed an event listener whilst it was being fired, this would alter the
list of handlers, which would cause the fireEvent function to read past the end
of the array (and to skip the next listener). Now, we clone the array of
listeners before firing, so adding/removing listeners has no effect on an
already firing event.
2013-05-24 14:02:12 +10:00
Neil Jenkins
87c0f3fbe1 Fix Cmd-left/right bug in Firefox on Mac OS X.
Firefox incorrectly goes back/forward in history instead of moving the cursor to
the beginning/end of the line when you press cmd-left/right on a mac. We now
override this to do the right thing.
2013-05-20 16:14:28 +10:00
Neil Jenkins
03818bd3e8 Log error if addEventListener called with null fn 2013-05-20 11:43:08 +10:00
Neil Jenkins
1fbc166226 Ignore IMGs when stripping empty inlines.
When cleaning up pasted content, we remove any empty inline tags. However, we
should not be stripping <img> tags (which are of course both inline and empty).
2013-05-17 17:24:00 +10:00
Neil Jenkins
4c5b157d09 Fix KB bold/italic etc. shortcuts in Webkit.
Webkit needs a special placeholder text node as it can't focus empty text nodes.
This was being cleaned up too early, before the user had a chance to enter any
text.
2013-04-18 13:59:08 +02:00
Neil Jenkins
20f92c9785 Always return nodeAfterSplit from split fn 2013-04-10 13:43:31 +10:00
Neil Jenkins
77b0b6c716 Check for null start block in backspace handler. 2013-04-10 11:08:40 +10:00
Neil Jenkins
dd7034501f Return same node passed in to fixCursor function. 2013-04-10 10:47:42 +10:00
Neil Jenkins
e1bae30a16 Make editor.insertElement support block elements. 2013-04-08 13:48:06 +10:00
Neil Jenkins
af1720282c Replace Node prototype extensions with normal fns.
* Firefox was sometimes not finding the extensions on elements.
* This minifies to a smaller target.
2013-04-08 13:27:06 +10:00