mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-29 02:07:39 +08:00
NoteEditor: Allow switching between Raw and Rich Editor
This commit is contained in:
@ -4,7 +4,7 @@ import 'package:gitjournal/state_container.dart';
|
|||||||
import 'package:gitjournal/widgets/note_header.dart';
|
import 'package:gitjournal/widgets/note_header.dart';
|
||||||
import 'package:gitjournal/storage/serializers.dart';
|
import 'package:gitjournal/storage/serializers.dart';
|
||||||
|
|
||||||
enum NoteEditorDropDownChoices { Discard, RawEditor }
|
enum NoteEditorDropDownChoices { Discard, SwitchEditor }
|
||||||
|
|
||||||
class NoteEditor extends StatefulWidget {
|
class NoteEditor extends StatefulWidget {
|
||||||
final Note note;
|
final Note note;
|
||||||
@ -82,12 +82,18 @@ class NoteEditorState extends State<NoteEditor> {
|
|||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case NoteEditorDropDownChoices.RawEditor:
|
case NoteEditorDropDownChoices.SwitchEditor:
|
||||||
setState(() {
|
setState(() {
|
||||||
rawEditor = true;
|
if (rawEditor) {
|
||||||
var noteData =
|
rawEditor = false;
|
||||||
NoteData(_textController.text, note.data.props);
|
note.data = serializer.decode(_textController.text);
|
||||||
_textController.text = serializer.encode(noteData);
|
_textController.text = note.body;
|
||||||
|
} else {
|
||||||
|
rawEditor = true;
|
||||||
|
var noteData =
|
||||||
|
NoteData(_textController.text, note.data.props);
|
||||||
|
_textController.text = serializer.encode(noteData);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -98,9 +104,9 @@ class NoteEditorState extends State<NoteEditor> {
|
|||||||
value: NoteEditorDropDownChoices.Discard,
|
value: NoteEditorDropDownChoices.Discard,
|
||||||
child: Text('Discard'),
|
child: Text('Discard'),
|
||||||
),
|
),
|
||||||
const PopupMenuItem<NoteEditorDropDownChoices>(
|
PopupMenuItem<NoteEditorDropDownChoices>(
|
||||||
value: NoteEditorDropDownChoices.RawEditor,
|
value: NoteEditorDropDownChoices.SwitchEditor,
|
||||||
child: Text('RawEditor'),
|
child: rawEditor ? Text('Rich Editor') : Text('Raw Editor'),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Reference in New Issue
Block a user