diff --git a/frontend/app_flowy/packages/flowy_editor/lib/operation/operation.dart b/frontend/app_flowy/packages/flowy_editor/lib/operation/operation.dart index e4d2c1d8ed..d3b3144873 100644 --- a/frontend/app_flowy/packages/flowy_editor/lib/operation/operation.dart +++ b/frontend/app_flowy/packages/flowy_editor/lib/operation/operation.dart @@ -2,6 +2,16 @@ import 'package:flowy_editor/document/attributes.dart'; import 'package:flowy_editor/flowy_editor.dart'; abstract class Operation { + factory Operation.fromJson(Map map) { + String t = map["type"] as String; + if (t == "insert-operation") { + final path = map["path"] as List; + final value = Node.fromJson(map["value"]); + return InsertOperation(path: path, value: value); + } + + throw ArgumentError('unexpected type $t'); + } final Path path; Operation({required this.path}); Operation copyWithPath(Path path);