feat: #1649 [FR] Convert quill delta to appflowy document

This commit is contained in:
Lucas.Xu 2023-01-05 17:08:43 +08:00
commit 7861761ed1

View file

@ -14,12 +14,14 @@ enum ExportFileType {
json,
markdown,
html,
delta,
}
extension on ExportFileType {
String get extension {
switch (this) {
case ExportFileType.json:
case ExportFileType.delta:
return 'json';
case ExportFileType.markdown:
return 'md';
@ -117,6 +119,9 @@ class _HomePageState extends State<HomePage> {
_buildListTile(context, 'Import From Markdown', () {
_importFile(ExportFileType.markdown);
}),
_buildListTile(context, 'Import From Quill Delta', () {
_importFile(ExportFileType.delta);
}),
// Theme Demo
_buildSeparator(context, 'Theme Demo'),
@ -224,6 +229,7 @@ class _HomePageState extends State<HomePage> {
result = documentToMarkdown(editorState.document);
break;
case ExportFileType.html:
case ExportFileType.delta:
throw UnimplementedError();
}
@ -280,6 +286,17 @@ class _HomePageState extends State<HomePage> {
case ExportFileType.markdown:
jsonString = jsonEncode(markdownToDocument(plainText).toJson());
break;
case ExportFileType.delta:
jsonString = jsonEncode(
DeltaDocumentConvert()
.convertFromJSON(
jsonDecode(
plainText.replaceAll('\\\\\n', '\\n'),
),
)
.toJson(),
);
break;
case ExportFileType.html:
throw UnimplementedError();
}