0
Fork 0
mirror of https://github.com/fastmail/Squire.git synced 2024-12-22 15:23:29 -05:00
Commit graph

262 commits

Author SHA1 Message Date
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
Trey Cordova
85c9002ce5 Add tab nesting capability to list items with text in them;
- This requires your cursor to be at the beginning of the list item.
- This implementation mimics Google Docs.
2015-10-23 14:22:04 +02:00
Neil Jenkins
8d178e1a65 Merge pull request #141 from gertsonderby/test/hasFormat
Added test suite that checks a number of cases for hasFormat().
2015-10-13 09:10:13 +02:00
Gert Sønderby
c40f900b7d Fixed copypasta-mistake, nextSibling -> previousSibling. 2015-10-13 08:46:44 +02:00
Ray Brooks
08e85c912b [Issue-147] Fix Firefox hidden iframe win.getSelection() bug
[Issue-147] Fixed code convention errors
2015-10-12 21:52:10 +01:00
Gert K. Sønderby
49ca521704 Fix up ranges in weird cases generated by IE (both start and end to be safe). 2015-10-02 15:26:30 +02:00
Neil Jenkins
9461368a5c Fix whitespace errors.
Thanks to @gertsonderby who pointed these out in #138.
2015-09-28 15:48:23 +02:00
Neil Jenkins
0ec3c43791 Don't prevent default on tab unless doing something.
Fixes #131.
2015-09-04 18:33:11 +01:00
Gert K. Sønderby
94f5a56255 Added getFontInfo() function, which extracts font-family and font-size styles. 2015-09-03 11:48:47 +01:00
xfra35
702991c2c6 Allow FIGCAPTION block tags 2015-08-31 16:41:29 +02:00
Neil Jenkins
02df8f9ed4 Merge pull request #127 from gertsonderby/remove-all-cleans-inputs 2015-08-27 11:16:20 +01:00
Gert K. Sønderby
8238b7a8e4 Removing all formatting also removes INPUT elements. 2015-08-26 15:42:01 +02:00
Gert K. Sønderby
5a46d51671 Lone IMG tags in a range will be accepted by _addFormat, so that they can be made into links. 2015-08-26 15:07:58 +02:00
Neil Jenkins
900e43cca8 Fix prefix white-space trimmed on paste of plain text. 2015-07-25 18:11:56 -07:00
Neil Jenkins
c190fab9fd Fix deletion of range when start or end is at edge of block.
If the selection starts and ends in the middle of blocks, we need to merge
these after extracting the range. But we need to be careful not to merge if
the selection ends at a block, as we end up merging into a block that wasn't
selected.
2015-07-25 18:03:51 -07:00
Neil Jenkins
715166b95d Let browser handle paste of images in FF/Safari. 2015-07-16 10:47:56 -07:00
Neil Jenkins
fdcef5fc8e Workaround clipboard having blank text/html version. 2015-07-14 12:59:27 -07:00
Je
aac169f764 Add support for the AMD 2015-07-14 00:33:38 +08:00
Je
3f13435182 Add support for AMD 2015-07-14 00:16:16 +08:00
Neil Jenkins
8d764f6638 Fix Chrome may replace <div> with <br> if you delete all content.
Fixes #108.
2015-07-13 06:39:07 -07:00
Neil Jenkins
a8fcd55cf4 Make event.preventDefault() cancel default key actions.
Fixes #107
2015-07-13 09:25:44 +07:00
Neil Jenkins
579cad7ff9 Fix pasting plain text in Safari. 2015-07-11 19:22:46 +07:00
Neil Jenkins
522a481dd3 Require <html data-squireinit="true"> to auto-instantiate.
Explicit opt-in to autoinstantiation (included in the default document.html)
means Squire may be loaded in sites that themselves are loaded in iframes,
without unexpected consequences.

Resolves #104.
2015-07-06 12:19:21 +07:00
Neil Jenkins
4f010a5de0 Override page up/down to match expected platform behaviour. 2015-06-25 11:02:56 +07:00
Neil Jenkins
de7d7011a7 Merge pull request #103 from shiawuen/top
fix bug on Browserify component when embed in multi layers of iframe
2015-06-23 15:16:08 +07:00
Neil Jenkins
2a8fb93cd9 Fix erroneous white-space removal when pasting inline fragment. 2015-06-23 09:46:15 +07:00
Neil Jenkins
def56193d4 Fix dummy paste area should be removed after paste completes 2015-06-22 09:32:47 +07:00
Neil Jenkins
7fc3ab55c3 Better cleanTree fn.
- Better checks to precisely trim white space only at beginning and end of block
- Don't keep the contents of <head> or <style> tags if inserted into body.
- Always keep styles to preserve fidelity on paste.

Fixes #95.
2015-06-19 14:20:19 +07:00
Neil Jenkins
926f40d033 Tidy Clean.js file layout 2015-06-19 14:20:01 +07:00
Neil Jenkins
c3701ba026 Move addLinks fn into Editor.js
It's only used by insertHTML, and isn't really about cleaning.
2015-06-19 14:19:49 +07:00
Neil Jenkins
680c0fbbb7 Don't use old clipboard API.
Safari very rarely has a text/html version (even if you copy from within
Safari!) so you end up always pasting plain text. Better to use the fallback
method to grab the data.
2015-06-19 14:19:37 +07:00
Neil Jenkins
bc523f83e8 Better paste handling
Get paste data directly from browser when supported. Funnel all pastes through
the insertHTML method for consistent results.
2015-06-19 14:19:21 +07:00
Neil Jenkins
395a5825e9 Split cleaning fns and clipboard handlers into separate file. 2015-06-19 14:18:32 +07:00
Neil Jenkins
e90f18dba9 Fix inserting partial inlines in insertTreeFragmentIntoRange
Needs to account for browser "<br>"s inside blocks.
2015-06-19 14:18:07 +07:00
shiawuen
ff21cb37e6 fix bug on Browserify component when embed on another window replacing containing window content 2015-06-19 12:12:37 +08:00
Neil Jenkins
a1ff33da9f Squire#removeAllFormatting fixes.
* Update the path after making the changes, so UI buttons can update correctly.
* Focus the editor on completion, to match the behaviour of other commands.
* Merge all the gathered text nodes if they're adjacent, so we have a normalised
  result.
2015-06-17 19:07:29 +07:00
Neil Jenkins
09167c73e4 Make it possible to delete an <img> with display other than inline
Based on pull request #85 from dryoma.
2015-06-17 17:18:34 +07:00
Neil Jenkins
345159b4c4 Better algorithm for remove all formatting action.
1. Keeps all leaf nodes not just text nodes, so images etc. are not removed.
2. If the selection is not within a single block, it is expanded to the edges
   of the blocks rather than splitting the blocks; this is unlikely to have
   been what the user wanted.
3. More efficient tree traversal and manipulation; no duplication of nodes.
4. Records undo state before performing the action.
2015-06-17 15:43:27 +07:00
Neil Jenkins
d9872fb4b2 More efficient forEachChildInRange fn.
No need for a tree walker, and we don't waste time iterating into children
that can never match the filter function.
2015-06-17 15:43:27 +07:00
Neil Jenkins
8b112b7615 Ensure removeAllFormatting always returns self. 2015-06-17 15:43:27 +07:00
Neil Jenkins
36432d45bd Fix whitespace. 2015-06-17 15:43:27 +07:00
Gert Sønderby
90660e8e4f Updated README, aligned return value with other API functions. 2015-06-17 15:43:26 +07:00
Gert Sønderby
6aba099388 Tests run in latest Chrome, FF, Safari + IE10 and 11. 2015-06-17 15:43:26 +07:00
Gert K. Sønderby
654706f15f Squire#removeAllFormatting() implemented, replaces range contents with style-sanitized version. 2015-06-17 15:43:26 +07:00