feat: add simple columns block in editor (#1038)
* feat: add simple columns block in editor * feat: add divider between column block * fix: add fallback logic in calculate selection function * feat: add column width resizer * feat: integrate columns block in editor on desktop
This commit is contained in:
parent
1df3cb1a1f
commit
c1e9d15572
1 changed files with 562 additions and 29 deletions
|
|
@ -136,6 +136,10 @@ class _DesktopEditorState extends State<DesktopEditor> {
|
|||
Map<String, BlockComponentBuilder> _buildBlockComponentBuilders() {
|
||||
final map = {
|
||||
...standardBlockComponentBuilderMap,
|
||||
|
||||
// columns block
|
||||
ColumnBlockKeys.type: ColumnBlockComponentBuilder(),
|
||||
ColumnsBlockKeys.type: ColumnsBlockComponentBuilder(),
|
||||
};
|
||||
// customize the image block component to show a menu
|
||||
map[ImageBlockKeys.type] = ImageBlockComponentBuilder(
|
||||
|
|
@ -165,7 +169,13 @@ class _DesktopEditorState extends State<DesktopEditor> {
|
|||
// customize the padding
|
||||
map.forEach((key, value) {
|
||||
value.configuration = value.configuration.copyWith(
|
||||
padding: (_) => const EdgeInsets.symmetric(vertical: 8.0),
|
||||
padding: (node) {
|
||||
if (node.type == ColumnsBlockKeys.type ||
|
||||
node.type == ColumnBlockKeys.type) {
|
||||
return EdgeInsets.zero;
|
||||
}
|
||||
return const EdgeInsets.symmetric(vertical: 8.0);
|
||||
},
|
||||
blockSelectionAreaMargin: (_) => const EdgeInsets.symmetric(
|
||||
vertical: 1.0,
|
||||
),
|
||||
|
|
|
|||
Loading…
Reference in a new issue