diff --git a/src/oik-blocklist/blocklist.js b/src/oik-blocklist/blocklist.js
index 22be132..d68064f 100644
--- a/src/oik-blocklist/blocklist.js
+++ b/src/oik-blocklist/blocklist.js
@@ -154,7 +154,8 @@ function BlockListItem( block, showBlockLink ) {
blockSupportsInserter = BlockSupportsInserter( block) ;
var blockDescription = null;
//console.log( block.description );
- blockDescription = ( typeof block.description === 'string' ) ? block.description : 'TBC';
+ blockDescription = BlockDescription( block.description );
+ // ( typeof block.description === 'string' ) ? block.description : {block.description};
//blockDescription = {block.description};
//console.log( block.block_name + '|' + block.name );
@@ -205,8 +206,9 @@ function BlockListItem( block, showBlockLink ) {
*/
function BlockCreateBlockLink( block, component ) {
var url = ajaxurl;
- var blockDescription = ( typeof block.description === 'string') ? block.description : 'TBC';
+ //var blockDescription = ( typeof block.description === 'string') ? block.description : 'TBC';
//var blockDescription = renderToString( {block.description} );
+ var blockDescription = BlockDescription( block.description );
var keywords = block.keywords ? block.keywords.join() : null;
url = addQueryArgs( url, { action: 'oiksc_create_or_update_block' });
url = addQueryArgs( url, { title: block.title });
@@ -216,6 +218,8 @@ function BlockCreateBlockLink( block, component ) {
url = addQueryArgs( url, { keywords: keywords});
url = addQueryArgs( url, { category: block.category});
url = addQueryArgs( url, { variation: block.block_name});
+ // This doesn't seem to work anymore!
+ console.log( block.icon );
var blockIcon = renderToString( );
url = addQueryArgs( url, { icon: blockIcon });
//console.log( url );
@@ -243,4 +247,34 @@ function BlockNoLink( block, component ) {
);
}
+/**
+ * Returns a string for the block description.
+ *
+ * The renderToString() function doesn't work during save().
+ * This function is a hacky workaround for those blocks that
+ * don't simply provide a string.
+ * We assume we can use the content of the first block
+ * since it's expected to be a paragraph.
+ *
+ * @param description
+ * @returns {string}
+ * @constructor
+ */
+
+function BlockDescription( description ) {
+
+ if ( typeof description === 'string' ) {
+ return(description);
+ } else {
+ //console.log( description);
+ var descFromFirstPara = 'TBC';
+ var children = description.props.children;
+ if ( children[0].type === 'p' ) {
+ descFromFirstPara = children[0].props.children;
+ }
+ return( descFromFirstPara );
+ }
+
+}
+
export { BlockListStyled, BlockListItem };
\ No newline at end of file