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

295 commits

Author SHA1 Message Date
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
32d56823ce Document must wait for iframe onload before instantiating
Resolves #106
2015-07-06 12:03:46 +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
a712b4f8e7 Merge pull request #101 from gertsonderby-feature/remove-formatting
Implements #7 (Remove All Formatting command).
2015-06-17 15:44:18 +07:00
Neil Jenkins
c25bfe8a9f Fix error thrown inserting tree fragment at start/end of document. 2015-06-17 15:43:50 +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
Neil Jenkins
a36cb12a16 Add Remove All Formatting action to basic demo integration. 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 Sønderby
985d886ffd Test runs in Chrome, fails in IE (differences in HTML output) 2015-06-17 15:43:26 +07:00
Gert K. Sønderby
6ced6ded17 Basic testing framework. 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
Gert K. Sønderby
d16de00a23 Added option to persist splits in inline nodes when fetching range from bookmark. 2015-06-17 15:43:26 +07:00
Gert K. Sønderby
83a1b4c520 Added JSCS config to allow consistent code style checking. 2015-06-17 15:43:26 +07:00
Neil Jenkins
42139c8399 Fix error thrown inserting tree fragment at start/end of document. 2015-06-17 15:43:26 +07:00
Neil Jenkins
c29a8c639b Wrap rather than split to replace <br>s.
Fixes #81.
2015-06-13 11:44:32 +07:00
Neil Jenkins
27b1532ca6 Add Squire#moveCursorTo(Start|End) methods.
I've got 99 GitHub issues, but #99 ain't one (any more).
2015-06-13 11:20:07 +07:00
Neil Jenkins
e59e6418af Improve merging edges of inserted tree fragment.
Fixes #87.
2015-06-12 17:48:06 +07:00
Neil Jenkins
fc80de80d7 Let's call that v1.3.0 2015-06-11 15:56:45 +07:00
Neil Jenkins
f6cddb4626 Remove some old IE8-specific code. 2015-06-11 15:53:12 +07:00
Neil Jenkins
8abceb586c Merge pull request #97 from kkirsche/patch-1
Remove moot `version` property from bower.json
2015-06-11 15:51:52 +07:00
Kevin Kirsche
6139648d9c Remove moot version property from bower.json
Per bower/bower.json-spec@a325da3
2015-06-10 20:58:23 -04:00
Neil Jenkins
ae7d93a8fe Position paste area further off screen to hide IE handlebars
Fixes #84.
2015-06-09 16:38:16 +07:00
Neil Jenkins
60169dce6b Handle browser splitting paste area.
Fixes #88.
2015-06-09 16:32:20 +07:00
Neil Jenkins
884f352846 Set focus after element inserted with Squire#insertElement
Fixes #90.
2015-06-02 21:15:14 +07:00
Neil Jenkins
60f5ddc45e Rename in package.json to squire-rte for npm 2015-05-09 17:33:25 +07:00
Neil Jenkins
ede9e5b201 Merge pull request #82 from shiawuen-npm 2015-05-09 17:30:26 +07:00
Neil Jenkins
c524772a63 Merge branch 'npm' of https://github.com/shiawuen/Squire into shiawuen-npm 2015-05-09 17:29:50 +07:00
Neil Jenkins
a2ca4a3864 Allow setting default attributes for ul/ol/li/blockquote.
Merges #83, with fixes, tidying and squashing.
2015-05-09 17:22:54 +07:00
shiawuen
619a3abc5d fix module check getting undefined for Firefox 2015-05-07 23:40:49 +08:00
shiawuen
70829d2508 ignore source folder 2015-05-07 11:16:08 +08:00
shiawuen
419708c266 ignore files not necessary for npm package 2015-05-07 10:55:04 +08:00
shiawuen
3f643b5718 export Squire 2015-05-07 10:52:52 +08:00
Neil Jenkins
1ec7956c97 Merge pull request #80 from crossjs-master 2015-05-07 09:09:41 +07:00