feat: support dragging to reorder block (#887)
* feat: support drag to reorder block * feat: enable drag to reorder on home page * fix: proper offset calculation for drop path * docs: update doc comments for the drop target API * fix: render issue --------- Co-authored-by: Mathias Mogensen <mathiasrieckm@gmail.com>
This commit is contained in:
parent
200b572fa3
commit
5d1d311a2c
1 changed files with 301 additions and 33 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import 'package:appflowy_editor/appflowy_editor.dart';
|
||||
import 'package:example/pages/drag_to_reorder_editor.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
|
@ -93,6 +94,9 @@ class _DesktopEditorState extends State<DesktopEditor> {
|
|||
editorStyle: editorStyle,
|
||||
enableAutoComplete: true,
|
||||
autoCompleteTextProvider: _buildAutoCompleteTextProvider,
|
||||
dropTargetStyle: const AppFlowyDropTargetStyle(
|
||||
color: Colors.red,
|
||||
),
|
||||
header: Padding(
|
||||
padding: const EdgeInsets.only(bottom: 10.0),
|
||||
child: Image.asset(
|
||||
|
|
@ -164,6 +168,16 @@ class _DesktopEditorState extends State<DesktopEditor> {
|
|||
value.configuration = value.configuration.copyWith(
|
||||
padding: (_) => const EdgeInsets.symmetric(vertical: 8.0),
|
||||
);
|
||||
|
||||
if (key != PageBlockKeys.type) {
|
||||
value.showActions = (_) => true;
|
||||
value.actionBuilder = (context, actionState) {
|
||||
return DragToReorderAction(
|
||||
blockComponentContext: context,
|
||||
builder: value,
|
||||
);
|
||||
};
|
||||
}
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue