v0.9.0
Bug fixes
EditingKeystrokeHandler
should prevent default action only for commands. Closes #90. (82ff39a)ToggleAttributeCommand
should listen to reliable events in order to determine its state. Closes #50. (6816505)- SVG icons should not define own fill if controlled by the styles. Closes #79. (fadf5ec)
Features
-
EditingKeystrokeHandler
should support priorities and proper cancelling. Closes #101. (c74b9a3) -
Editor#destroy()
will destroy all loaded plugins. Closes #86. (77e5217)Added default implementation for
Plugin#destroy()
. IntroducedPluginCollection#destroy()
method which callsPlugin#destroy()
for every loaded plugin. -
PluginCollection
will warn if the user wants to load two or more plugins with the same name. Closes #85. (e00a282) -
Introduced
Editor#isReadOnly
property which disables all commands and prevents from modifying the document. Closes #96. Closes ckeditor/ckeditor5#492. (1ca5608)
Other changes
-
Bound
EditingController#isReadOnly
to the editor. Closes #98. (ec02906) -
Cleaned up SVG icons. (ffac7e7)
-
Introduced
PluginInterface
. A plugin doesn't need to inherit directly from thePlugin
class, as long as it implements some minimal interface. See #78. (f476f34) -
Removed
ToggleAttributeCommand
class as well as other helpers from thecore/command
namespace. Closes #14. (7c68581) -
The command API has been redesigned. The
Command
methods are now public and consistent. Commands can be used in a standalone mode (without the editor). TheCommandCollection
was introduced and replaced theMap
of commands used ineditor.commands
. Closes #88. (b76983b)Besides changes mentioned in this point and in the "Breaking changes" section, other minor changes were done:
Editor#execute()
now accepts multiple command arguments.Command#value
property was standardized.
BREAKING CHANGES
- The
ToggleAttributeCommand
was moved to theckeditor5-basic-styles
package asAttributeCommand
and the other command helpers tockeditor5-engine
asSchema
methods. - The
Command
's protected_doExecute()
and_checkEnabled()
methods have been replaced by publicexecute()
andrefresh()
methods. - The
Command
'srefreshState
event was removed and one should usechange:isEnabled
in order to control and override its state. - The
core/command/command
module has been moved to the root directory (so theCommand
class iscore/command~Command
now). - The
Command#refresh()
method is now automatically called oneditor.document#changesDone
. - The
editor.commands
map was replaced by aCommandCollection
instance soeditor.commands.set()
calls need to be replaced witheditor.commands.add()
.
NOTE
- Plugin naming convention has changed.