Block Style Previews: Fix block style previews with an upgrade nudge#14730
Block Style Previews: Fix block style previews with an upgrade nudge#14730
Conversation
When an upgrade nudge is to be displayed, the block `example` setting is removed and threw up a bug where we were calling `createBlock` with the incorrect arguments. With that fixed it still meant that the block previews had the nudge rendered. This change gets around that by defining an additional attribute an the created block, and not displaying the nudge if that attribute is found to be `true`.
|
Caution: This PR has changes that must be merged to WordPress.com |
|
Thank you for the great PR description! When this PR is ready for review, please apply the Scheduled Jetpack release: March 3, 2020. |
|
This fix works, but I'm not convinced its the right approach. When I add an upgrade nudge to the Tiled Gallery block, the core style selector works fine, with the upgrade nudge in the preview. There's obviously some difference between the way our BlockStyleSelector component works and the way it's working in core, but I haven't got to the bottom of it yet. |
| ...block, | ||
| attributes: { | ||
| ...block.attributes, | ||
| isBlockPreview: true, |
There was a problem hiding this comment.
Since this is kinda "internal" attribute, should it have underscore prefix to indicate it; __isblockPreview ?
There was a problem hiding this comment.
Yes, good idea, I'll update that
Yes, the core one, doesn't have this fix in it, so the nudge will still display in the generated preview, or are you seeing something else @scruffian? |
|
pablinos, Your synced wpcom patch D39092-code has been updated. |
jeherve
left a comment
There was a problem hiding this comment.
This seems to test well in Jetpack and on WordPress.com. 👍
|
r203152-wpcom |
* 8.3 release: changelog * Changelog: add #14516 * Changelog: add #14574 * Bring in changes from 8.2.1 and 8.2.2 * Update stable version * Bring in 8.2.3 changes * Changelog: add #14714 * Changelog: add #14639 * Changelog: add #14678 * Changelog: add #14673 * Changelog: add #14687 * Changelog: add #14704 * Changelog: add #14702 * Changelog: add #14541 * Changelog: add #14657 * Changelog: add #14622 * Changelog: add #14582 * Changelog: add #14638 * Changelog: add #14633 * Changelog: add #14571 * Changelog: add #14592 * Changelog: add #14539 * Changelog: add #14514 * Changelog: add #14643 * Changelog: add #14494 * Changelog: add #13739 * Changelog: add #14707 * Changelog: add #14736 * Changelog: add #14706 * Changelog: add #14730 * Changelog: add #14685 * Changelog: add #14727 * Changelog: add #14711 * Changelog: add #14742 * Changelog: add #14746 * Changelog: add #14725 * Changelog: add #13999 * Changelog: add #14740 * Changelog: add #14759 * Changelog: add #14703 * Changelog: add #14753 * Changelog: add #14754 * Changelog: add #14645 * Cahngelog: add #14599
When an upgrade nudge is to be displayed, the block
examplesetting isremoved and this threw up a bug where we were calling
createBlockwith theincorrect arguments.
With that fixed, it still meant that the block previews had the nudge
rendered.
Changes proposed in this Pull Request:
This change fixes the
createBlockbug and prevents the nudge from rendering in the preview by defining an additional attribute on the created block.The nudge then isn't displayed if that attribute is found to be
true. I realise that this is somewhat hacky, but I'm not sure of a better way of passing that information down to thewrapPaidBlockcomponent. We could store something in the state somewhere instead?Is this a new feature or does it add/remove features to an existing part of Jetpack?
This is a bug fix
Testing instructions:
Running this branch on a sandboxed site (probably easiest using the Fusion diff) create an OpenTable or Calendly block on a site with a free plan. Check that the nudge is displayed and when the block is selected, that you can see the previews of the various styles.
Proposed changelog entry for your changes:
Bug fixed where incorrect parameters were passed to
createBlockwhen generating a block style preview