UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 2.11 kB
{ "version": 3, "sources": ["../../src/post-comments-count/edit.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\nexport default function PostCommentsCountEdit( { context } ) {\n\tconst { postId } = context;\n\tconst [ commentsCount, setCommentsCount ] = useState();\n\n\tconst blockProps = useBlockProps();\n\n\tuseEffect( () => {\n\t\tif ( ! postId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentPostId = postId;\n\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\tpost: postId,\n\t\t\t} ),\n\t\t\tparse: false,\n\t\t} ).then( ( res ) => {\n\t\t\t// Stale requests will have the `currentPostId` of an older closure.\n\t\t\tif ( currentPostId === postId ) {\n\t\t\t\tsetCommentsCount( res.headers.get( 'X-WP-Total' ) );\n\t\t\t}\n\t\t} );\n\t}, [ postId ] );\n\n\tconst hasPostAndComments = postId && commentsCount !== undefined;\n\n\tconst blockStyles = {\n\t\t...blockProps.style,\n\t\ttextDecoration: hasPostAndComments\n\t\t\t? blockProps.style?.textDecoration\n\t\t\t: undefined,\n\t};\n\n\treturn (\n\t\t<div { ...blockProps } style={ blockStyles }>\n\t\t\t{ hasPostAndComments ? commentsCount : '0' }\n\t\t</div>\n\t);\n}\n"], "mappings": ";AAGA,SAAS,qBAAqB;AAC9B,SAAS,UAAU,iBAAiB;AACpC,OAAO,cAAc;AACrB,SAAS,oBAAoB;AAsC3B;AApCa,SAAR,sBAAwC,EAAE,QAAQ,GAAI;AAC5D,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,CAAE,eAAe,gBAAiB,IAAI,SAAS;AAErD,QAAM,aAAa,cAAc;AAEjC,YAAW,MAAM;AAChB,QAAK,CAAE,QAAS;AACf;AAAA,IACD;AAEA,UAAM,gBAAgB;AAEtB,aAAU;AAAA,MACT,MAAM,aAAc,mBAAmB;AAAA,QACtC,MAAM;AAAA,MACP,CAAE;AAAA,MACF,OAAO;AAAA,IACR,CAAE,EAAE,KAAM,CAAE,QAAS;AAEpB,UAAK,kBAAkB,QAAS;AAC/B,yBAAkB,IAAI,QAAQ,IAAK,YAAa,CAAE;AAAA,MACnD;AAAA,IACD,CAAE;AAAA,EACH,GAAG,CAAE,MAAO,CAAE;AAEd,QAAM,qBAAqB,UAAU,kBAAkB;AAEvD,QAAM,cAAc;AAAA,IACnB,GAAG,WAAW;AAAA,IACd,gBAAgB,qBACb,WAAW,OAAO,iBAClB;AAAA,EACJ;AAEA,SACC,oBAAC,SAAM,GAAG,YAAa,OAAQ,aAC5B,+BAAqB,gBAAgB,KACxC;AAEF;", "names": [] }