Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with draft-js-plugins architecture for extensions #83

Closed
thibaudcolas opened this issue Jul 8, 2017 · 2 comments
Closed
Labels
enhancement New feature or request
Milestone

Comments

@thibaudcolas
Copy link
Collaborator

thibaudcolas commented Jul 8, 2017

draft-js-plugins is a good approach. I went without it at first because the project was encouraging people to use a beta version, which I've been burnt by in the past. This is now in RC, once this is released as stable, Draftail should be rewritten as composable plugins rather than the current ad-hoc abstraction.

@thibaudcolas thibaudcolas added the enhancement New feature or request label Jul 8, 2017
@thibaudcolas thibaudcolas added this to the v1.0.0 milestone Jul 8, 2017
@thibaudcolas thibaudcolas modified the milestones: v1.0.0, Post v1.0.0 Aug 28, 2017
@thibaudcolas
Copy link
Collaborator Author

Draft.js plugins has now had a stable v2 release. I'm still keen to rebuild / re-package Draftail as a set of plugins some day. Here are some more notes about what this would mean:

  • It would make it easier to reuse Draftail behavior beyond Wagtail, and thus to maintain this reusable code.
  • From the perspective of a standard Wagtail install, it would still work the same and be backwards-compatible.
  • For customisations to the editor within Wagtail, it would allow people to reuse parts of the draft-js-plugins ecosystem.

The thing I'm concerned about is that Draftail does quite a lot to restrict usable formatting within a given editor – if some plugins do not have such strict policies, this might lead to problems. People might be reusing plugins without realising that this will break Draftail's guarantees. I'll have to think more about this and try it out to confirm the implications.

@thibaudcolas thibaudcolas changed the title Rebuild on top of draft-js-plugins Refactor Draftail as a set of draft-js-plugins Jun 5, 2018
@thibaudcolas thibaudcolas changed the title Refactor Draftail as a set of draft-js-plugins Compatibility with draft-js-plugins architecture for extensions Feb 5, 2019
@thibaudcolas thibaudcolas modified the milestones: v1.1.0, v1.2.0 Feb 7, 2019
@thibaudcolas
Copy link
Collaborator Author

Fixed by #171.

thibaudcolas added a commit to thibaudcolas/wagtail that referenced this issue Mar 4, 2019
This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for wagtail#4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

- wagtail#4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([wagtail#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([wagtail#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([wagtail#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([wagtail#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([wagtail#134](springload/draftail#134), [wagtail#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [wagtail#170](springload/draftail#170), [wagtail#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([wagtail#83](springload/draftail#83), [wagtail#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
thibaudcolas added a commit to thibaudcolas/wagtail that referenced this issue Mar 4, 2019
This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for wagtail#4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

Bug fixes
~~~~~~~~~

- wagtail#4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([wagtail#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([wagtail#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([wagtail#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([wagtail#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

New features
~~~~~~~~~~~~

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([wagtail#134](springload/draftail#134), [wagtail#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

New APIs
~~~~~~~~

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [wagtail#170](springload/draftail#170), [wagtail#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([wagtail#83](springload/draftail#83), [wagtail#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
thibaudcolas added a commit to thibaudcolas/wagtail that referenced this issue Mar 7, 2019
This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for wagtail#4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

Bug fixes
~~~~~~~~~

- wagtail#4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([wagtail#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([wagtail#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([wagtail#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([wagtail#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

New features
~~~~~~~~~~~~

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([wagtail#134](springload/draftail#134), [wagtail#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

New APIs
~~~~~~~~

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [wagtail#170](springload/draftail#170), [wagtail#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([wagtail#83](springload/draftail#83), [wagtail#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
thibaudcolas added a commit to thibaudcolas/wagtail that referenced this issue Mar 7, 2019
This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for wagtail#4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)
- [v1.2.1](https://github.com/springload/draftail/releases/tag/v1.2.1) (fixes regression in v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

Bug fixes
~~~~~~~~~

- wagtail#4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([wagtail#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([wagtail#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([wagtail#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([wagtail#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

New features
~~~~~~~~~~~~

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([wagtail#134](springload/draftail#134), [wagtail#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

New APIs
~~~~~~~~

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [wagtail#170](springload/draftail#170), [wagtail#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([wagtail#83](springload/draftail#83), [wagtail#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
thibaudcolas added a commit to thibaudcolas/wagtail that referenced this issue Mar 7, 2019
This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for wagtail#4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)
- [v1.2.1](https://github.com/springload/draftail/releases/tag/v1.2.1) (fixes regression in v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

Bug fixes
~~~~~~~~~

- wagtail#4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([wagtail#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([wagtail#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([wagtail#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([wagtail#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

New features
~~~~~~~~~~~~

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([wagtail#134](springload/draftail#134), [wagtail#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

New APIs
~~~~~~~~

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [wagtail#170](springload/draftail#170), [wagtail#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([wagtail#83](springload/draftail#83), [wagtail#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
thibaudcolas added a commit to thibaudcolas/wagtail that referenced this issue Mar 15, 2019
This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for wagtail#4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)
- [v1.2.1](https://github.com/springload/draftail/releases/tag/v1.2.1) (fixes regression in v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

Bug fixes
~~~~~~~~~

- wagtail#4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([wagtail#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([wagtail#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([wagtail#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([wagtail#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

New features
~~~~~~~~~~~~

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([wagtail#134](springload/draftail#134), [wagtail#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

New APIs
~~~~~~~~

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [wagtail#170](springload/draftail#170), [wagtail#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([wagtail#83](springload/draftail#83), [wagtail#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
thibaudcolas added a commit to thibaudcolas/wagtail that referenced this issue Mar 15, 2019
This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for wagtail#4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)
- [v1.2.1](https://github.com/springload/draftail/releases/tag/v1.2.1) (fixes regression in v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

Bug fixes
~~~~~~~~~

- wagtail#4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([wagtail#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([wagtail#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([wagtail#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([wagtail#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

New features
~~~~~~~~~~~~

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([wagtail#134](springload/draftail#134), [wagtail#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

New APIs
~~~~~~~~

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [wagtail#170](springload/draftail#170), [wagtail#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([wagtail#83](springload/draftail#83), [wagtail#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
thibaudcolas added a commit to thibaudcolas/wagtail that referenced this issue Mar 21, 2019
This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for wagtail#4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)
- [v1.2.1](https://github.com/springload/draftail/releases/tag/v1.2.1) (fixes regression in v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

Bug fixes
~~~~~~~~~

- wagtail#4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([wagtail#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([wagtail#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([wagtail#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([wagtail#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

New features
~~~~~~~~~~~~

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([wagtail#134](springload/draftail#134), [wagtail#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

New APIs
~~~~~~~~

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [wagtail#170](springload/draftail#170), [wagtail#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([wagtail#83](springload/draftail#83), [wagtail#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
thibaudcolas added a commit to wagtail/wagtail that referenced this issue Mar 21, 2019
…5117)

This includes:

- [v1.0.0](https://github.com/springload/draftail/releases/tag/v1.0.0) (identical to v0.17.2)
- [v1.1.0](https://github.com/springload/draftail/releases/tag/v1.1.0) (contains fix for #4985)
- [v1.2.0](https://github.com/springload/draftail/releases/tag/v1.2.0)
- [v1.2.1](https://github.com/springload/draftail/releases/tag/v1.2.1) (fixes regression in v1.2.0)

Here is the combined CHANGELOG for what's relevant to Wagtail:

Bug fixes
~~~~~~~~~

- #4985 – Prevent crash when filtering pasted content whose last block is to be removed (e.g. unsupported image) ([#179](springload/draftail#179)).
- Stop unnecessarily calling `onSave` in the editor’s `onBlur` ([#173](springload/draftail#173)).
- Prevent crash in `DraftUtils.getEntitySelection`, when the provided entity key isn't valid (undefined, missing) ([#168](springload/draftail#168)).
- Fix entity removal and editing not doing anything when the selection is backwards (right to left) ([#168](springload/draftail#168)).
- Prevent the editor from crashing when copy-paste filtering removes all of its content (thibaudcolas/draftjs-filters@652750f)

New features
~~~~~~~~~~~~

- Add support for Markdown shortcuts for inline styles, e.g. `**` for bold, `_` for italic, etc ([#134](springload/draftail#134), [#187](springload/draftail#187)). View the full list of [keyboard shortcuts](https://www.draftail.org/docs/keyboard-shortcuts).

New APIs
~~~~~~~~

- Add [`onFocus`](https://www.draftail.org/docs/api#managing-focus) and [`onBlur`](https://www.draftail.org/docs/api#managing-focus) props to use callbacks on those events. This can be useful for [form validation](https://www.draftail.org/docs/next/form-validation). [#170](springload/draftail#170), [#174](springload/draftail#174), thanks to [@TheSpicyMeatball](https://github.com/TheSpicyMeatball).
- Add [`plugins`](https://www.draftail.org/docs/plugins) API to support extensions of the editor using the [draft-js-plugins](https://github.com/draft-js-plugins/draft-js-plugins) architecture ([#83](springload/draftail#83), [#171](springload/draftail#171)).
- Add ability to disable or customise the editor toolbar with [`topToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add ability to add a toolbar below the editor with [`bottomToolbar`](https://www.draftail.org/docs/customising-toolbars).
- Add data reset parameter to `DraftUtils.resetBlockWithType()`.
- Enable list continuation on Enter for custom `*-list-item` blocks. All that’s required is for the block type to end with `-list-item`.

None of those API additions will be usable within Wagtail (at least without hacks) until corresponding rich text features APIs are built to allow their configuration. The last 2 additions would already be usable but they would only be useful when leveraging the other APIs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant