From 1e46becbae3c8d280a4440aac87a6cc17fa421ee Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Wed, 9 Sep 2020 11:24:39 +0200 Subject: [PATCH 01/14] allowedChildBlocks within columns implementation --- packages/block-library/src/column/block.json | 3 +++ packages/block-library/src/column/edit.js | 3 ++- packages/block-library/src/columns/block.json | 5 ++++- packages/block-library/src/columns/edit.js | 9 +++++++-- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/block-library/src/column/block.json b/packages/block-library/src/column/block.json index bc8d16aa9601c..1ad0b1dae3e69 100644 --- a/packages/block-library/src/column/block.json +++ b/packages/block-library/src/column/block.json @@ -12,6 +12,9 @@ "type": "number", "min": 0, "max": 100 + }, + "allowedBlocks": { + "type": "array" } }, "supports": { diff --git a/packages/block-library/src/column/edit.js b/packages/block-library/src/column/edit.js index 66525c0767775..44337f4208815 100644 --- a/packages/block-library/src/column/edit.js +++ b/packages/block-library/src/column/edit.js @@ -18,7 +18,7 @@ import { useSelect, useDispatch } from '@wordpress/data'; import { __ } from '@wordpress/i18n'; function ColumnEdit( { - attributes: { verticalAlignment, width }, + attributes: { verticalAlignment, width, allowedBlocks }, setAttributes, clientId, } ) { @@ -92,6 +92,7 @@ function ColumnEdit( { className: classes, style: hasWidth ? { flexBasis: width + '%' } : undefined, } } + allowedBlocks={ allowedBlocks } /> ); diff --git a/packages/block-library/src/columns/block.json b/packages/block-library/src/columns/block.json index 0a84a4a35d781..817a57e855acf 100644 --- a/packages/block-library/src/columns/block.json +++ b/packages/block-library/src/columns/block.json @@ -4,7 +4,10 @@ "attributes": { "verticalAlignment": { "type": "string" - } + }, + "allowedChildBlocks": { + "type": "array" + } }, "supports": { "anchor": true, diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index 23f5e4e2bc7a8..ff604970aa235 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -48,7 +48,7 @@ function ColumnsEditContainer( { updateColumns, clientId, } ) { - const { verticalAlignment } = attributes; + const { verticalAlignment, allowedChildBlocks } = attributes; const { count } = useSelect( ( select ) => { @@ -91,6 +91,7 @@ function ColumnsEditContainer( { { return createBlock( 'core/column', { width: newColumnWidth, + allowedBlocks: allowedChildBlocks, } ); } ), ]; @@ -170,7 +173,9 @@ const ColumnsEditContainerWrapper = withDispatch( innerBlocks = [ ...innerBlocks, ...times( newColumns - previousColumns, () => { - return createBlock( 'core/column' ); + return createBlock( 'core/column', { + allowedBlocks: allowedChildBlocks, + } ); } ), ]; } else { From fae40528a75c3b758e90e0852629ce91fad92601 Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Wed, 9 Sep 2020 12:26:33 +0200 Subject: [PATCH 02/14] Add inline documentation --- packages/block-library/src/column/edit.js | 1 + packages/block-library/src/columns/edit.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/block-library/src/column/edit.js b/packages/block-library/src/column/edit.js index 44337f4208815..d4dd565a17556 100644 --- a/packages/block-library/src/column/edit.js +++ b/packages/block-library/src/column/edit.js @@ -92,6 +92,7 @@ function ColumnEdit( { className: classes, style: hasWidth ? { flexBasis: width + '%' } : undefined, } } + //Specify the blocks allowed to be placed within this column allowedBlocks={ allowedBlocks } /> diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index ff604970aa235..a36d38e916e2f 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -91,6 +91,7 @@ function ColumnsEditContainer( { Date: Tue, 8 Dec 2020 12:34:06 +0100 Subject: [PATCH 03/14] Fix column and columns cs --- packages/block-library/src/column/edit.js | 9 +++++++-- packages/block-library/src/columns/edit.js | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/block-library/src/column/edit.js b/packages/block-library/src/column/edit.js index 9e911da24cea7..b1080db5ef34b 100644 --- a/packages/block-library/src/column/edit.js +++ b/packages/block-library/src/column/edit.js @@ -27,7 +27,12 @@ import { __ } from '@wordpress/i18n'; import { CSS_UNITS } from '../columns/utils'; function ColumnEdit( { - attributes: { verticalAlignment, width, templateLock = false, allowedBlocks }, + attributes: { + verticalAlignment, + width, + templateLock = false, + allowedBlocks, + }, setAttributes, clientId, } ) { @@ -67,7 +72,7 @@ function ColumnEdit( { } ); const innerBlocksProps = useInnerBlocksProps( blockProps, { templateLock, - allowedBlocks, + allowedBlocks, renderAppender: hasChildBlocks ? undefined : InnerBlocks.ButtonBlockAppender, diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index a59fb0b72a3fe..49327e2c75fc8 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -72,7 +72,7 @@ function ColumnsEditContainer( { } ); const innerBlocksProps = useInnerBlocksProps( blockProps, { allowedBlocks: ALLOWED_BLOCKS, - allowedChildBlocks: allowedChildBlocks, + allowedChildBlocks, orientation: 'horizontal', renderAppender: false, } ); From 1105f28a2710dda9d94b3b6d70304a0bd736e4a1 Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Tue, 8 Dec 2020 12:44:09 +0100 Subject: [PATCH 04/14] Fix indentation --- packages/block-library/src/column/block.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/block-library/src/column/block.json b/packages/block-library/src/column/block.json index 6aed536c548de..3dcaeb72fa1c9 100644 --- a/packages/block-library/src/column/block.json +++ b/packages/block-library/src/column/block.json @@ -14,7 +14,7 @@ }, "allowedBlocks": { "type": "array" - }, + }, "templateLock": { "type": "string" } From c205d34e96423bd6091dae741e7ae9922a230c5a Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Mon, 18 Jan 2021 10:14:01 +0100 Subject: [PATCH 05/14] Remove unnessecary line --- packages/block-library/src/columns/edit.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index 49327e2c75fc8..1734dc8cd9c8e 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -52,7 +52,7 @@ function ColumnsEditContainer( { updateColumns, clientId, } ) { - const { verticalAlignment, allowedChildBlocks } = attributes; + const { verticalAlignment } = attributes; const { count } = useSelect( ( select ) => { @@ -72,7 +72,6 @@ function ColumnsEditContainer( { } ); const innerBlocksProps = useInnerBlocksProps( blockProps, { allowedBlocks: ALLOWED_BLOCKS, - allowedChildBlocks, orientation: 'horizontal', renderAppender: false, } ); From 7f9d6565399811ce9c3e1da80aab81b844a13a33 Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Mon, 18 Jan 2021 10:16:56 +0100 Subject: [PATCH 06/14] Remove allowedBlocks prop for column --- packages/block-library/src/column/block.json | 3 --- packages/block-library/src/column/edit.js | 2 -- 2 files changed, 5 deletions(-) diff --git a/packages/block-library/src/column/block.json b/packages/block-library/src/column/block.json index 3dcaeb72fa1c9..02c2084dabb3f 100644 --- a/packages/block-library/src/column/block.json +++ b/packages/block-library/src/column/block.json @@ -12,9 +12,6 @@ "width": { "type": "string" }, - "allowedBlocks": { - "type": "array" - }, "templateLock": { "type": "string" } diff --git a/packages/block-library/src/column/edit.js b/packages/block-library/src/column/edit.js index b1080db5ef34b..58f529ca526ce 100644 --- a/packages/block-library/src/column/edit.js +++ b/packages/block-library/src/column/edit.js @@ -31,7 +31,6 @@ function ColumnEdit( { verticalAlignment, width, templateLock = false, - allowedBlocks, }, setAttributes, clientId, @@ -72,7 +71,6 @@ function ColumnEdit( { } ); const innerBlocksProps = useInnerBlocksProps( blockProps, { templateLock, - allowedBlocks, renderAppender: hasChildBlocks ? undefined : InnerBlocks.ButtonBlockAppender, From cf358e68967f2339515006ec2630a61009c88e18 Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Mon, 18 Jan 2021 10:17:24 +0100 Subject: [PATCH 07/14] Move to single line --- packages/block-library/src/column/edit.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/block-library/src/column/edit.js b/packages/block-library/src/column/edit.js index 58f529ca526ce..c3275d3667de4 100644 --- a/packages/block-library/src/column/edit.js +++ b/packages/block-library/src/column/edit.js @@ -27,11 +27,7 @@ import { __ } from '@wordpress/i18n'; import { CSS_UNITS } from '../columns/utils'; function ColumnEdit( { - attributes: { - verticalAlignment, - width, - templateLock = false, - }, + attributes: { verticalAlignment, width, templateLock = false }, setAttributes, clientId, } ) { From c8ab41f5d11b2888197670593329136666563336 Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Fri, 22 Jan 2021 10:18:40 +0100 Subject: [PATCH 08/14] Revert "Move to single line" This reverts commit cf358e68967f2339515006ec2630a61009c88e18. --- packages/block-library/src/column/edit.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/block-library/src/column/edit.js b/packages/block-library/src/column/edit.js index c3275d3667de4..58f529ca526ce 100644 --- a/packages/block-library/src/column/edit.js +++ b/packages/block-library/src/column/edit.js @@ -27,7 +27,11 @@ import { __ } from '@wordpress/i18n'; import { CSS_UNITS } from '../columns/utils'; function ColumnEdit( { - attributes: { verticalAlignment, width, templateLock = false }, + attributes: { + verticalAlignment, + width, + templateLock = false, + }, setAttributes, clientId, } ) { From 164a4ea86cb744a3a1ee3889db362b1ddda626a1 Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Fri, 22 Jan 2021 10:19:01 +0100 Subject: [PATCH 09/14] Revert "Remove allowedBlocks prop for column" This reverts commit 7f9d6565399811ce9c3e1da80aab81b844a13a33. --- packages/block-library/src/column/block.json | 3 +++ packages/block-library/src/column/edit.js | 2 ++ 2 files changed, 5 insertions(+) diff --git a/packages/block-library/src/column/block.json b/packages/block-library/src/column/block.json index 02c2084dabb3f..3dcaeb72fa1c9 100644 --- a/packages/block-library/src/column/block.json +++ b/packages/block-library/src/column/block.json @@ -12,6 +12,9 @@ "width": { "type": "string" }, + "allowedBlocks": { + "type": "array" + }, "templateLock": { "type": "string" } diff --git a/packages/block-library/src/column/edit.js b/packages/block-library/src/column/edit.js index 58f529ca526ce..b1080db5ef34b 100644 --- a/packages/block-library/src/column/edit.js +++ b/packages/block-library/src/column/edit.js @@ -31,6 +31,7 @@ function ColumnEdit( { verticalAlignment, width, templateLock = false, + allowedBlocks, }, setAttributes, clientId, @@ -71,6 +72,7 @@ function ColumnEdit( { } ); const innerBlocksProps = useInnerBlocksProps( blockProps, { templateLock, + allowedBlocks, renderAppender: hasChildBlocks ? undefined : InnerBlocks.ButtonBlockAppender, From 6a37644d2de5a95ba43b94c9e2c0909ceb2fcae2 Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Fri, 22 Jan 2021 10:19:11 +0100 Subject: [PATCH 10/14] Revert "Remove unnessecary line" This reverts commit c205d34e96423bd6091dae741e7ae9922a230c5a. --- packages/block-library/src/columns/edit.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index 1734dc8cd9c8e..49327e2c75fc8 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -52,7 +52,7 @@ function ColumnsEditContainer( { updateColumns, clientId, } ) { - const { verticalAlignment } = attributes; + const { verticalAlignment, allowedChildBlocks } = attributes; const { count } = useSelect( ( select ) => { @@ -72,6 +72,7 @@ function ColumnsEditContainer( { } ); const innerBlocksProps = useInnerBlocksProps( blockProps, { allowedBlocks: ALLOWED_BLOCKS, + allowedChildBlocks, orientation: 'horizontal', renderAppender: false, } ); From 0a1aa6f0b791735579c0ff845478c511d731dbf7 Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Fri, 22 Jan 2021 10:27:39 +0100 Subject: [PATCH 11/14] Remove columns allowedChlidBlocks --- packages/block-library/src/columns/block.json | 5 +---- packages/block-library/src/columns/edit.js | 8 +------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/packages/block-library/src/columns/block.json b/packages/block-library/src/columns/block.json index 8a8f8d1a4fb52..0cc93b718a89b 100644 --- a/packages/block-library/src/columns/block.json +++ b/packages/block-library/src/columns/block.json @@ -5,10 +5,7 @@ "attributes": { "verticalAlignment": { "type": "string" - }, - "allowedChildBlocks": { - "type": "array" - } + } }, "supports": { "anchor": true, diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index 49327e2c75fc8..0d624e12c7154 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -52,7 +52,7 @@ function ColumnsEditContainer( { updateColumns, clientId, } ) { - const { verticalAlignment, allowedChildBlocks } = attributes; + const { verticalAlignment } = attributes; const { count } = useSelect( ( select ) => { @@ -72,7 +72,6 @@ function ColumnsEditContainer( { } ); const innerBlocksProps = useInnerBlocksProps( blockProps, { allowedBlocks: ALLOWED_BLOCKS, - allowedChildBlocks, orientation: 'horizontal', renderAppender: false, } ); @@ -143,7 +142,6 @@ const ColumnsEditContainerWrapper = withDispatch( */ updateColumns( previousColumns, newColumns ) { const { clientId } = ownProps; - const { allowedChildBlocks } = ownProps.attributes; const { replaceInnerBlocks } = dispatch( 'core/block-editor' ); const { getBlocks } = registry.select( 'core/block-editor' ); @@ -172,7 +170,6 @@ const ColumnsEditContainerWrapper = withDispatch( ...times( newColumns - previousColumns, () => { return createBlock( 'core/column', { width: newColumnWidth, - allowedBlocks: allowedChildBlocks, } ); } ), ]; @@ -180,9 +177,6 @@ const ColumnsEditContainerWrapper = withDispatch( innerBlocks = [ ...innerBlocks, ...times( newColumns - previousColumns, () => { - return createBlock( 'core/column', { - allowedBlocks: allowedChildBlocks, - } ); } ), ]; } else { From 3c570b6459357d347030ee0412bbc9116dd5949b Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Fri, 22 Jan 2021 10:36:52 +0100 Subject: [PATCH 12/14] Fix columns edit cs --- packages/block-library/src/columns/edit.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index 0d624e12c7154..c1a918a3d8346 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -176,8 +176,7 @@ const ColumnsEditContainerWrapper = withDispatch( } else if ( isAddingColumn ) { innerBlocks = [ ...innerBlocks, - ...times( newColumns - previousColumns, () => { - } ), + ...times( newColumns - previousColumns, () => {} ), ]; } else { // The removed column will be the last of the inner blocks. From bcad775a9f9a3787d5c9afe679d1ecba171a2d1a Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Fri, 22 Jan 2021 12:27:26 +0100 Subject: [PATCH 13/14] Update edit.js --- packages/block-library/src/columns/edit.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index c1a918a3d8346..88c6cb69254bd 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -176,7 +176,9 @@ const ColumnsEditContainerWrapper = withDispatch( } else if ( isAddingColumn ) { innerBlocks = [ ...innerBlocks, - ...times( newColumns - previousColumns, () => {} ), + ...times(newColumns - previousColumns, () => { + return createBlock('core/column'); + }), ]; } else { // The removed column will be the last of the inner blocks. From 328b68ab15dafba46c43c9fd9065d148d62cc35d Mon Sep 17 00:00:00 2001 From: Jesser Hulshof Date: Fri, 22 Jan 2021 12:27:40 +0100 Subject: [PATCH 14/14] Fix cs --- packages/block-library/src/columns/edit.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/block-library/src/columns/edit.js b/packages/block-library/src/columns/edit.js index 88c6cb69254bd..9ad79099af20a 100644 --- a/packages/block-library/src/columns/edit.js +++ b/packages/block-library/src/columns/edit.js @@ -176,9 +176,9 @@ const ColumnsEditContainerWrapper = withDispatch( } else if ( isAddingColumn ) { innerBlocks = [ ...innerBlocks, - ...times(newColumns - previousColumns, () => { - return createBlock('core/column'); - }), + ...times( newColumns - previousColumns, () => { + return createBlock( 'core/column' ); + } ), ]; } else { // The removed column will be the last of the inner blocks.