From 243b415df859705e20d0b58beacd88a2dc0d7358 Mon Sep 17 00:00:00 2001 From: Tiberiu Ichim Date: Sat, 10 Oct 2020 08:35:14 +0300 Subject: [PATCH] Simplify a bit --- src/ColumnsBlock/ColumnsBlockEdit.jsx | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/ColumnsBlock/ColumnsBlockEdit.jsx b/src/ColumnsBlock/ColumnsBlockEdit.jsx index 592545b..345e334 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, clone } from 'lodash'; +import { isEmpty } 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'; @@ -151,23 +151,30 @@ class ColumnsBlockEdit extends React.Component { ); const variant = available_variants?.[0]; if (variant) { - this.props.onChangeBlock(this.props.block, { + return this.props.onChangeBlock(this.props.block, { ...this.props.data, gridCols: variant.defaultData.gridCols, }); } } + const { block, onChangeBlock, data } = this.props; + // fill empty columns - if (hasColumns(this.props.data.data)) { - forEachColumn(this.props.data.data, ([colId, colData]) => { + if (hasColumns(data.data)) { + forEachColumn(data.data, ([colId, colData]) => { if (columnIsEmpty(colData)) { - 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); + const newData = { + ...data, + data: { + ...data.data, + blocks: { + ...data.data.blocks, + [colId]: defaultNewColumn(), + }, + }, + }; + onChangeBlock(block, newData); } }); }