1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-03-05 21:49:06 +01:00
Ian Storm Taylor 5e6d376501
fix selection operations being duplicated ()
#### Is this adding or improving a _feature_ or fixing a _bug_?

Bug.

#### What's the new behavior?

Fixes selection operations from being duplicated.

#### How does this change work?

Previously the selection properties were compared by reference, but paths are immutable `List` objects, which always show up as having changed, resulting in extra selection operations that without any real changes. We now use `Immutable.is` to remove those duplicates, fixing the undo history stack.

#### Have you checked that...?

<!-- 
Please run through this checklist for your pull request: 
-->

* [x] The new code matches the existing patterns and styles.
* [x] The tests pass with `yarn test`.
* [x] The linter passes with `yarn lint`. (Fix errors with `yarn prettier`.)
* [x] The relevant examples still work. (Run examples with `yarn watch`.)

#### Does this fix any issues or need any specific reviewers?

Fixes: 
2018-08-01 11:55:45 -07:00
..
2018-07-31 16:31:54 -07:00
2018-08-01 09:16:02 -07:00
2018-07-27 12:42:43 -07:00
2018-08-01 09:16:02 -07:00
2018-07-31 16:31:54 -07:00
2018-07-31 16:31:54 -07:00
2018-07-31 16:31:54 -07:00

Packages

Slate's codebase is monorepo managed with Lerna. It consists of a handful of packages—although you won't always use all of them. They are:

Package Version Size Description
slate Slate's core data model logic.
slate-base64-serializer A Base64 string serializer for Slate documents.
slate-html-serializer An HTML serializer for Slate documents.
slate-hyperscript A hyperscript tool to write JSX Slate documents!
slate-plain-serializer A plain text serializer for Slate documents.
slate-prop-types React prop types for checking Slate values.
slate-react React components for rendering Slate editors.
slate-schema-violations Constants for the built-in schema violations.
slate-simulator A simulator for testing Slate editors and plugins.