feat: #1649 [FR] Convert quill delta to appflowy document
This commit is contained in:
parent
7b883e56f4
commit
7861761ed1
1 changed files with 802 additions and 1 deletions
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue