Neil Jenkins
bd4d377cf0
Sanitise pasted HTML if DOMPurify library present.
...
This protects against malicious HTML being added to the clipboard, and also
removes unwanted content before insertion.
DOMPurify can be found at https://github.com/cure53/DOMPurify
2016-06-06 12:36:08 +10:00
Andy Kauffman
9dcc4fb79f
Cleanup P and Underline tags
...
node.
2016-05-26 14:16:15 +10:00
Neil Jenkins
8b580ed988
Add undo checkpoint on drop.
...
Resolves #188 .
2016-05-26 13:54:26 +10:00
Neil Jenkins
6deae3c188
Strip HTML surrounding copied fragment added by Edge.
...
Fixes #181
2016-05-26 13:09:49 +10:00
Neil Jenkins
7ecf75f246
Fix determining if at start of block when at end of doc
...
Fixes #190
2016-05-26 11:42:53 +10:00
Neil Jenkins
d225f384b7
Use selectionchange event if available.
...
Fixes #194 .
2016-05-26 11:07:11 +10:00
Neil Jenkins
4354b46db9
Don't merge <a> tags.
...
Fixes #198
2016-05-26 10:33:18 +10:00
Neil Jenkins
aa3857ab77
Use default block config when inserting plain text
2016-05-25 12:41:57 +10:00
Andy Kauffman
4e7e290fbc
Fix block boundary issue
...
If the node is at the end of the document, this method can fail with
'TypeError: Cannot read property 'previousSibling' of null'
2016-05-19 10:28:46 +10:00
Neil Jenkins
f7774c8cf3
Always save selection on blur.
...
Hopefully fixes #194
2016-05-18 18:07:55 +10:00
Neil Jenkins
1f4baefda4
Remove dragover/drop from custom events list.
...
Fixes #183
2016-05-05 12:22:56 +10:00
Neil Jenkins
6c4f8e1aaf
Add support for default <a> attributes
...
Resolves #186 .
2016-05-05 11:50:36 +10:00
Andy Kauffman
f50962db7f
Add a modifyDocument method
...
There are certain times when it is necessary to modify the document
programmatically, such as to set attributes, add tooltips, etc. Such
edits should not be observed as inputs. This method allows edits to be
ignored by the editor.
2016-05-05 11:30:27 +10:00
Andy Kauffman
64ee5db293
insertElement should register as input for older browsers
2016-05-02 13:47:39 -04:00
Neil Jenkins
0f361d69c6
Add IFRAME to list of inline nodes.
...
Resolves #180 .
2016-05-01 16:36:43 +10:00
Neil Jenkins
6a28aafd2f
Add HR as a leaf node name.
2016-05-01 16:33:47 +10:00
Neil Jenkins
e3d0576a38
Workaround Facebook iOS URL copying bug
2016-04-11 16:58:13 +10:00
Neil Jenkins
44a2b5c7a8
Add guard for null nodes in insertTreeFragmentIntoRange
2016-04-08 17:42:47 +10:00
Neil Jenkins
66c0b20702
Squire: Fix possible error when deleting range
2016-04-07 13:08:45 +10:00
Neil Jenkins
d9122222b2
Restore range more accurately from bookmark
2016-03-30 16:39:04 +11:00
Neil Jenkins
ed44d72ca7
Add dragover and drop to custom events list
...
Since these are fired by the clipboard handler.
2016-03-30 13:23:47 +11:00
Neil Jenkins
5b4aa6b764
Add getRoot method
2016-03-30 10:42:41 +11:00
Neil Jenkins
230520645b
Fix cleanup of white space
2016-03-28 10:14:55 +11:00
Neil Jenkins
bac7c5d2cc
Restore selection on focus, unless explicit click
2016-03-28 09:58:50 +11:00
Neil Jenkins
3ff9a46ea9
Check for null parent in getPath
2016-03-26 11:32:59 +11:00
Neil Jenkins
923a0efd1a
Fix delete/backspace removing content outside editor
2016-03-26 11:20:28 +11:00
Neil Jenkins
3dca852630
Log errors from fixCursor to track down bug
2016-03-24 22:04:42 +11:00
Neil Jenkins
4ca3b20b8a
Handle old browsers w/o range.getBoundingClientRect
2016-03-24 21:25:14 +11:00
Neil Jenkins
072a2d9fce
Add getCursorPosition method, remove scrollRangeIntoView
...
Scrolling depends so much on the integration. Better to allow the cursor
position to be fetched, and then the integration can do the scrolling when it
wants (for example on each "input" event).
2016-03-24 13:48:09 +11:00
Neil Jenkins
3be9a7dea8
Workaround iOS clipboardData bug
2016-03-24 09:44:35 +11:00
Neil Jenkins
6a348e084b
Make Squire work without an iframe(!)
2016-03-23 17:41:09 +11:00
Neil Jenkins
e133f26db1
Fix getFontInfo iteration up tree
2016-03-18 18:55:21 +11:00
Neil Jenkins
349f391075
Fix typo in cut/copy handlers
2016-03-14 15:21:48 +11:00
Neil Jenkins
c895d6b307
Set a plain text version too on cut/copy
2016-03-12 17:18:21 +11:00
Neil Jenkins
62616ef4ec
Add saveUndoState method to public API
...
For #174
2016-03-11 15:58:32 +11:00
Neil Jenkins
6413034884
Improve copy/paste
...
* In browsers that support it, we now tell it to copy exactly what was selected
in the DOM, and not to add extra gunk which browsers do to preserve exact
styling if pasted into another document.
* Don't use the clipboard APIs with MS Edge, since it only supports plain text.
If we let it fallback to the browser implementation it will insert HTML.
2016-03-11 15:22:49 +11:00
Neil Jenkins
6ed3b93900
Workaround Firefox clipboard ignores RTF data
2016-03-07 18:38:07 +11:00
Neil Jenkins
9b88aca813
Fix crash in scrollRangeIntoView if no bounding rect
2016-03-07 17:19:51 +11:00
Neil Jenkins
6bafa1d140
Run fixContainers before merging blocks.
...
In case paste or something has got the document into a weird state with inline
content not inside a block.
2016-02-26 14:28:53 +11:00
Neil Jenkins
2fccc317ad
Fix getFontInfo method.
...
Resolves #169
2016-02-03 15:35:13 +11:00
Neil Jenkins
7330324d92
Fix Firefox throws error if initialised with display:none
...
Fixes #168 .
2016-01-06 14:38:53 +11:00
Neil Jenkins
93f7867214
Fix Meta-Left/Right handling in Firefox.
...
Fixes #167 .
2015-12-29 11:15:01 +11:00
Neil Jenkins
8b183c6ef6
Add scrollPointIntoView event for integrations.
2015-12-09 17:29:47 +11:00
Neil Jenkins
9ccf765ba8
Scroll cursor into view after setting selection.
...
Fixes #162 and fixes #165 .
2015-12-09 15:12:47 +11:00
Neil Jenkins
df25d6d596
Add colour/background-colour to result of getFontInfo
...
Resolves #158
2015-12-03 18:14:49 +11:00
Neil Jenkins
0d1f1cf44b
Consistently don't use a space in CSS when setting colour.
...
Fixes #159 .
2015-12-03 17:55:22 +11:00
priceld
abfebbab16
change the walker's currentNode to reflect the changes being made to the tree
2015-12-01 10:53:30 -05:00
Neil Jenkins
987f3afd52
Fix escaping first/last line plain text on insertion.
...
Fixes #157 .
2015-11-20 13:55:57 +11:00
Neil Jenkins
bf8f796ea4
Add shift-tab keyboard shortcut.
...
If at beginning of list item, shift-tab decreases indent (to mirror tab to indent).
2015-11-17 16:50:55 +11:00
Neil Jenkins
162ec9049e
Make scroll on enter logic independent of CSS.
...
Fixes #149 .
2015-10-23 17:05:32 +01:00