diff --git a/src/ColumnsBlock/ColumnsBlockEdit.jsx b/src/ColumnsBlock/ColumnsBlockEdit.jsx
index 16f7a36..3637c51 100644
--- a/src/ColumnsBlock/ColumnsBlockEdit.jsx
+++ b/src/ColumnsBlock/ColumnsBlockEdit.jsx
@@ -1,6 +1,6 @@
import React from 'react';
import { Grid, Segment } from 'semantic-ui-react';
-import { isEmpty } from 'lodash';
+import { isEmpty, clone } from 'lodash';
import { SidebarPortal, Icon } from '@plone/volto/components'; // BlocksForm, Icon,
import InlineForm from '@plone/volto/components/manage/Form/InlineForm';
import { emptyBlocksForm } from '@eeacms/volto-blocks-form/helpers';
@@ -11,7 +11,7 @@ import { Button } from 'semantic-ui-react';
import { blocks } from '~/config';
import { ColumnsBlockSchema } from './schema';
-import { getColumns, empty } from './utils';
+import { getColumns, empty, defaultNewColumn } from './utils';
import ColumnVariations from './ColumnVariations';
import EditBlockWrapper from './EditBlockWrapper';
@@ -150,6 +150,23 @@ class ColumnsBlockEdit extends React.Component {
});
}
}
+
+ // fill empty columns
+ if (this.props.data.data?.blocks) {
+ for (const colId in this.props.data.data?.blocks) {
+ const col = clone(this.props.data.data?.blocks[colId]);
+
+ if (col.blocks_layout.items.length === 0) {
+ const newCol = defaultNewColumn();
+
+ const fd = clone(this.props.properties);
+ fd.blocks[this.props.block].data.blocks[colId] = newCol;
+
+ this.props.onChangeField('blocks', fd.blocks);
+ this.props.onChangeField('blocks_layout', fd.blocks_layout);
+ }
+ }
+ }
}
render() {
diff --git a/src/ColumnsBlock/EditBlockWrapper.jsx b/src/ColumnsBlock/EditBlockWrapper.jsx
index c97d0bd..d319210 100644
--- a/src/ColumnsBlock/EditBlockWrapper.jsx
+++ b/src/ColumnsBlock/EditBlockWrapper.jsx
@@ -12,8 +12,6 @@ import dragSVG from '@plone/volto/icons/drag.svg';
import addSVG from '@plone/volto/icons/circle-plus.svg';
import trashSVG from '@plone/volto/icons/delete.svg';
-import { getColumns } from './utils';
-
const messages = defineMessages({
unknownBlock: {
id: 'Unknown Block',
@@ -76,8 +74,6 @@ class EditBlockWrapper extends React.Component {
// const visible = selected && blockHasValue(block) && !block.fixed;
// visibility: visible ? 'visible' : 'hidden',
- const showDeleteButton = getColumns(blockProps.properties).length > 1;
-
const required = isBoolean(data.required)
? data.required
: includes(blocks.requiredBlocks, type);
@@ -129,7 +125,7 @@ class EditBlockWrapper extends React.Component {
)}
- {!required && showDeleteButton && (
+ {!required && (