From c34692b371838105092e920a33aefcbd5497c528 Mon Sep 17 00:00:00 2001 From: Addison-Stavlo Date: Mon, 20 Jul 2020 17:59:22 -0400 Subject: [PATCH 1/8] update block.json --- .../src/post-comments/block.json | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/block-library/src/post-comments/block.json b/packages/block-library/src/post-comments/block.json index cf67b7037f31e..6b8adc5264756 100644 --- a/packages/block-library/src/post-comments/block.json +++ b/packages/block-library/src/post-comments/block.json @@ -1,7 +1,25 @@ { "name": "core/post-comments", "category": "design", + "attributes": { + "textAlign": { + "type": "string" + } + }, "usesContext": [ "postId" - ] + ], + "supports": { + "html": false, + "align": [ + "wide", + "full" + ], + "__experimentalFontSize": true, + "__experimentalColor": { + "gradients": true, + "linkColor": true + }, + "__experimentalLineHeight": true + } } From e051638dc25d0cb157365034d81346d80d9a139f Mon Sep 17 00:00:00 2001 From: Addison-Stavlo Date: Mon, 20 Jul 2020 18:07:02 -0400 Subject: [PATCH 2/8] add textAlign in editor --- .../block-library/src/post-comments/edit.js | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/packages/block-library/src/post-comments/edit.js b/packages/block-library/src/post-comments/edit.js index b099ac058450c..3c86d562f6fe5 100644 --- a/packages/block-library/src/post-comments/edit.js +++ b/packages/block-library/src/post-comments/edit.js @@ -1,8 +1,14 @@ +/** + * External dependencies + */ +import classnames from 'classnames'; + /** * WordPress dependencies */ import { useSelect } from '@wordpress/data'; import { useEntityId } from '@wordpress/core-data'; +import { AlignmentToolbar, BlockControls } from '@wordpress/block-editor'; import { __ } from '@wordpress/i18n'; function PostCommentsDisplay( { postId } ) { @@ -26,11 +32,31 @@ function PostCommentsDisplay( { postId } ) { ); } -export default function PostCommentsEdit() { +export default function PostCommentsEdit( { attributes, setAttributes } ) { + const { textAlign } = attributes; // TODO: Update to handle multiple post types. const postId = useEntityId( 'postType', 'post' ); if ( ! postId ) { return __( 'Post Comments' ); } - return ; + return ( + <> + + { + setAttributes( { textAlign: nextAlign } ); + } } + /> + + +
+ +
+ + ); } From a0e2e86fbdc861193ec4a00e07efcd20adba1abe Mon Sep 17 00:00:00 2001 From: Addison-Stavlo Date: Tue, 21 Jul 2020 14:03:19 -0400 Subject: [PATCH 3/8] update wront context check / warnings --- .../src/post-comments/block.json | 3 +- .../block-library/src/post-comments/edit.js | 32 +++++++++++++++---- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/packages/block-library/src/post-comments/block.json b/packages/block-library/src/post-comments/block.json index 6b8adc5264756..e07b40b0e00f0 100644 --- a/packages/block-library/src/post-comments/block.json +++ b/packages/block-library/src/post-comments/block.json @@ -7,7 +7,8 @@ } }, "usesContext": [ - "postId" + "postId", + "postType" ], "supports": { "html": false, diff --git a/packages/block-library/src/post-comments/edit.js b/packages/block-library/src/post-comments/edit.js index 3c86d562f6fe5..1f30fdcf292c9 100644 --- a/packages/block-library/src/post-comments/edit.js +++ b/packages/block-library/src/post-comments/edit.js @@ -7,8 +7,11 @@ import classnames from 'classnames'; * WordPress dependencies */ import { useSelect } from '@wordpress/data'; -import { useEntityId } from '@wordpress/core-data'; -import { AlignmentToolbar, BlockControls } from '@wordpress/block-editor'; +import { + AlignmentToolbar, + BlockControls, + Warning, +} from '@wordpress/block-editor'; import { __ } from '@wordpress/i18n'; function PostCommentsDisplay( { postId } ) { @@ -32,13 +35,28 @@ function PostCommentsDisplay( { postId } ) { ); } -export default function PostCommentsEdit( { attributes, setAttributes } ) { +export default function PostCommentsEdit( { + attributes, + setAttributes, + context, +} ) { + const { postType, postId } = context; const { textAlign } = attributes; - // TODO: Update to handle multiple post types. - const postId = useEntityId( 'postType', 'post' ); - if ( ! postId ) { - return __( 'Post Comments' ); + + if ( ! postType || ! postId ) { + return ( + { __( 'Post comments block: no post found.' ) } + ); + } else if ( postType !== 'post' ) { + return ( + + { __( + 'Post comments block: Comments are only available in posts. Please add this block to a post instead.' + ) } + + ); } + return ( <> From f7f9b00a39f98eed0849c68d177611ee503ab7c6 Mon Sep 17 00:00:00 2001 From: Addison-Stavlo Date: Tue, 21 Jul 2020 14:35:38 -0400 Subject: [PATCH 4/8] allow comment html (links) to render in editor --- packages/block-library/src/post-comments/edit.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/block-library/src/post-comments/edit.js b/packages/block-library/src/post-comments/edit.js index 1f30fdcf292c9..2c3c9255edf35 100644 --- a/packages/block-library/src/post-comments/edit.js +++ b/packages/block-library/src/post-comments/edit.js @@ -13,6 +13,7 @@ import { Warning, } from '@wordpress/block-editor'; import { __ } from '@wordpress/i18n'; +import { RawHTML } from '@wordpress/element'; function PostCommentsDisplay( { postId } ) { return useSelect( @@ -27,7 +28,9 @@ function PostCommentsDisplay( { postId } ) { // TODO: "No Comments" placeholder should be editable. return comments && comments.length ? comments.map( ( comment ) => ( -

{ comment.content.raw }

+

+ { comment.content.raw } +

) ) : __( 'No comments.' ); }, From 1c720738b7dcd9673e1245f5ec2d0a41d69c4ed2 Mon Sep 17 00:00:00 2001 From: Addison-Stavlo Date: Tue, 21 Jul 2020 15:07:18 -0400 Subject: [PATCH 5/8] link colors to work in editor --- packages/block-library/src/editor.scss | 1 + packages/block-library/src/post-comments/edit.js | 2 +- packages/block-library/src/post-comments/editor.scss | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 packages/block-library/src/post-comments/editor.scss diff --git a/packages/block-library/src/editor.scss b/packages/block-library/src/editor.scss index 491295a4af55a..44a3c1c54d484 100644 --- a/packages/block-library/src/editor.scss +++ b/packages/block-library/src/editor.scss @@ -49,6 +49,7 @@ @import "./verse/editor.scss"; @import "./video/editor.scss"; @import "./widget-area/editor.scss"; +@import "./post-comments/editor.scss"; /** * Import styles from internal editor components used by the blocks. diff --git a/packages/block-library/src/post-comments/edit.js b/packages/block-library/src/post-comments/edit.js index 2c3c9255edf35..16d1b40f09322 100644 --- a/packages/block-library/src/post-comments/edit.js +++ b/packages/block-library/src/post-comments/edit.js @@ -72,7 +72,7 @@ export default function PostCommentsEdit( {
diff --git a/packages/block-library/src/post-comments/editor.scss b/packages/block-library/src/post-comments/editor.scss new file mode 100644 index 0000000000000..0a0e2040a2ebf --- /dev/null +++ b/packages/block-library/src/post-comments/editor.scss @@ -0,0 +1,3 @@ +.block-editor-block-list__block[data-type="core/post-comments"].has-link-color .wp-block-post-comments a { + color: var(--wp--style--color--link); +} From 86adddc386d3cf46a9a44173b13e0b7721173546 Mon Sep 17 00:00:00 2001 From: Addison-Stavlo Date: Tue, 21 Jul 2020 15:49:25 -0400 Subject: [PATCH 6/8] link colors to register on front end --- packages/block-library/src/post-comments/block.json | 4 ---- packages/block-library/src/post-comments/index.php | 9 ++++++++- packages/block-library/src/post-comments/style.scss | 4 ++++ packages/block-library/src/style.scss | 1 + 4 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 packages/block-library/src/post-comments/style.scss diff --git a/packages/block-library/src/post-comments/block.json b/packages/block-library/src/post-comments/block.json index e07b40b0e00f0..6de171225ba63 100644 --- a/packages/block-library/src/post-comments/block.json +++ b/packages/block-library/src/post-comments/block.json @@ -12,10 +12,6 @@ ], "supports": { "html": false, - "align": [ - "wide", - "full" - ], "__experimentalFontSize": true, "__experimentalColor": { "gradients": true, diff --git a/packages/block-library/src/post-comments/index.php b/packages/block-library/src/post-comments/index.php index cee5aca1978a0..e68e139e2dfdd 100644 --- a/packages/block-library/src/post-comments/index.php +++ b/packages/block-library/src/post-comments/index.php @@ -30,7 +30,14 @@ function render_block_core_post_comments( $attributes, $content, $block ) { ob_start(); comments_template(); $post = $post_before; - return ob_get_clean(); + + $classes = 'wp-block-post-comments'; + if ( isset( $attributes['textAlign'] ) ) { + $classes .= ' has-text-align-' . $attributes['textAlign']; + } + + $output = sprintf( '
', esc_attr( $classes ) ) . ob_get_clean() . '
'; + return $output; } /** diff --git a/packages/block-library/src/post-comments/style.scss b/packages/block-library/src/post-comments/style.scss new file mode 100644 index 0000000000000..d41b8bfc75a43 --- /dev/null +++ b/packages/block-library/src/post-comments/style.scss @@ -0,0 +1,4 @@ +.wp-block-post-comments.has-link-color a, +.wp-block-post-comments.has-background.has-link-color a { + color: var(--wp--style--color--link); +} diff --git a/packages/block-library/src/style.scss b/packages/block-library/src/style.scss index 9550ae321299f..579489589e334 100644 --- a/packages/block-library/src/style.scss +++ b/packages/block-library/src/style.scss @@ -35,6 +35,7 @@ @import "./text-columns/style.scss"; @import "./video/style.scss"; @import "./post-excerpt/style.scss"; +@import "./post-comments/style.scss"; // The following selectors have increased specificity (using the :root prefix) // to assure colors take effect over another base class color, mainly to let From 397cca2c63ca531520ed5e1288d4a9f178a93076 Mon Sep 17 00:00:00 2001 From: Addison-Stavlo Date: Wed, 22 Jul 2020 15:48:36 -0400 Subject: [PATCH 7/8] remove check for postType --- packages/block-library/src/post-comments/edit.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/packages/block-library/src/post-comments/edit.js b/packages/block-library/src/post-comments/edit.js index 16d1b40f09322..86c766a2f8383 100644 --- a/packages/block-library/src/post-comments/edit.js +++ b/packages/block-library/src/post-comments/edit.js @@ -50,14 +50,6 @@ export default function PostCommentsEdit( { return ( { __( 'Post comments block: no post found.' ) } ); - } else if ( postType !== 'post' ) { - return ( - - { __( - 'Post comments block: Comments are only available in posts. Please add this block to a post instead.' - ) } - - ); } return ( From dbddfccc6e35a6c171358c3d954dbac92a662aed Mon Sep 17 00:00:00 2001 From: Addison-Stavlo Date: Wed, 22 Jul 2020 15:57:07 -0400 Subject: [PATCH 8/8] update editor rendering of comments --- packages/block-library/src/post-comments/edit.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/block-library/src/post-comments/edit.js b/packages/block-library/src/post-comments/edit.js index 86c766a2f8383..6af073d398264 100644 --- a/packages/block-library/src/post-comments/edit.js +++ b/packages/block-library/src/post-comments/edit.js @@ -28,9 +28,12 @@ function PostCommentsDisplay( { postId } ) { // TODO: "No Comments" placeholder should be editable. return comments && comments.length ? comments.map( ( comment ) => ( -

- { comment.content.raw } -

+ + { comment.content.rendered } + ) ) : __( 'No comments.' ); },