feat: disable apply operation when setting editable = false

This commit is contained in:
Lucas.Xu 2022-09-28 11:49:31 +08:00
parent 6230d0ad9f
commit ab0131c19c
2 changed files with 7 additions and 0 deletions

View File

@ -72,6 +72,8 @@ class EditorState {
// TODO: only for testing.
bool disableSealTimer = false;
bool editable = true;
Selection? get cursorSelection {
return _cursorSelection;
}
@ -112,6 +114,9 @@ class EditorState {
/// should record the transaction in undo/redo stack.
apply(Transaction transaction,
[ApplyOptions options = const ApplyOptions()]) {
if (!editable) {
return;
}
// TODO: validate the transation.
for (final op in transaction.operations) {
_applyOperation(op);

View File

@ -72,6 +72,7 @@ class _AppFlowyEditorState extends State<AppFlowyEditor> {
editorState.selectionMenuItems = widget.selectionMenuItems;
editorState.editorStyle = widget.editorStyle;
editorState.service.renderPluginService = _createRenderPlugin();
editorState.editable = widget.editable;
}
@override
@ -84,6 +85,7 @@ class _AppFlowyEditorState extends State<AppFlowyEditor> {
}
editorState.editorStyle = widget.editorStyle;
editorState.editable = widget.editable;
services = null;
}