Fixes an issue where the window global was still being referenced so the module still couldn't be used server-side.
Changes the way the mutation observer is determined and changes the way that nodes with certain classes are checked for. Both of these changes are aimed at offerring better support for server-side rendering.
Thank you Sergey Zyablitsky and Simon Degraeve for your contributions towards this goal.
Adds a workaround to allow paste events to work on Android. Thanks to crasu for the contribution.
The code for handling manual navigation in list elements now passes the event to its associated command for plugins to use in their response.
Thank you to Josh Moore for contributing this change. Please raise issues on how you think this should work generally if you are interested.
A split text node will no longer be replaced by a non-breaking backspace but instead should be a regular space character.
Thanks Jeffrey Wear for this change/fix
Stripping of Chrome artifacts has been consolidated into a single function. Thanks Regis Kuckaertz
The undo manager has been re-written to use Immutable data structures. Thanks Regis Kuckaertz
A more elegant fix for #401 from Alexy Golev, thanks!
Restores scribe.element
(lost in release 1.4.9) to avoid breaking backwards compatibility
Another attempt to fix #401, this time using Immutable data and Array.prototype.slice.
The NS_ERROR_UNEXPECTED
is now caught and supressed. This exeception is being thrown by Firefox and seems to be a browser specific bug to do with element focus. This change just avoids lots of supurious errors being thrown.
We should remove it once the bug has been fixed.
Consolidates a number of api operations into the node module.
Restructing by Regis Kuckaertz
Short-circuits the mutation evaluation via use of Array.prototype.some
Not a valid build, issues between Bower and NPM
Treat the clipboard data types variable as an array to avoid issues with future releases of Chrome (and other browsers). Resolves #401.
Corrects the NPM version of the ImmutableJS dependency
Replaces some of the use of Lodash contains with Immutable data structures and includes
.
Changes the require alias so that the Immutable import path is simplified.
A number of performance improvements have been contributed by Regis Kuckaertz. Primarily these include avoiding TreeWalker where it isn't needed and moving a number of function definitions to the parse phase. See the individual PRs for details.
Small optimisation to avoid a relayout as a result of placing Scribe markers.
Thanks for improvement Brad Vogel
Changes the cleanup for Chrome inline style tags that happens in the patch for the insertHTML
command. Previously span tags were aggressively stripped whereas now they are less aggressively removed to limit the fix just to the type of spans that Chrome inserts.
Thanks Christopher Liu for contributing this change.
Stops Scribe failing on a focus event if the content of the Scribe element is set to empty. Previously the code assumed that a child node is available, now the focus node will be the parent element if there are no children.
Based on contributions from Ryan Fitzgerald
Fixes a bug where em tags were being stripped where we meant to strip Scribe markers instead.
Thanks Abdulrahman Alsaleh for the fix
Fixes a bug preventing individual events being switched off events in the event-emitter Bumps Lodash to 3.5.0 in the NPM package description for those using CommonJS builds
Thanks Ryan Fitzgerald!
Fixes event-emitter
off behaviour when un-binding events
Reverts the change to 3.5.0 as Bower and NPM-based packagers were not behaving consistently.
All plugins, formatters and commands can now be overridden via options.
Thanks David Tobin
Lodash has been bumped to 3.5.0
Option handling (defaults and overrides) have now been moved to their own module
Adds a null check to selection.js to help with issues when Scribe is being run in ShadowDOM. Thanks Shaun Netherby
Introduces a new time-based undo manager and improvements to allow multiple Scribe instances to share or have a separate undo manager. Thanks to Abdulrahman Alsaleh for providing the code and spending a lot of time working with us on the tests.
Added configuration for removing scribe.undoManager
Bugfixes for selections that are 'reversed' (i.e. selected from right to left) from Deains. Thanks
Clarifies the use of nodeName in the Command implementation. Thanks Christopher Liu
Event waterfall / Event Namespacing
ShadowDOM fixes for Chrome from ShaunNetherby, thanks
IE11 compatiability changes from Deains, thank you
Changes the way that root nodes are detected, the code now uses the element that the Scribe instance is bound to rather than looking for contenteditable attributes.
Changes the EventEmitter to store callbacks in sets to enforce uniqueness and avoid duplicate calls
Fixes a typo with the use of options in the default command patches that was breaking Browserify
Allows the default command patches to be over-ridden in the options. This will allow users to customise what gets loaded to address issues like the behaviour of the bold patch where the default behaviour is not what is required.
Introduces ImmutableJS (which is also exposed via scribe.immutable) and starts to convert some the internal workings of Scribe to use immutable data structures.
Adds 55K of needless bloat according to @theefer but I am heartless and laugh at his tears.
This is a non-backwards compatible change as we are removing the use of Scribe Common. The Node and Element apis that were available in that project are now exposed via the scribe object itself (scribe.node
and scribe.element
).
Existing plugins should not break for this release but please re-write your plugins if you use 1.0.0 as a dependency.
- Add preliminary support for Safari 6. Muration Observer Safari
- Switch from using export directly to the string alias version. YUI Compressor changes
- Rework mandatory plugin loading Plugin loading
- Fix Chrome 38 focus issue Change check for ff
- Fix
createLink
browser inconsistency (#190) - Bug: Correct object reference (517b22ab)
- Prevent mutation observers from failing if an error occurs (9c843e52)
- Added
subscript
andsuperscript
commands (cba4ee23)