UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 5.53 kB
{ "version": 3, "sources": ["../../src/post-comments-form/form.js"], "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst CommentsFormPlaceholder = () => {\n\tconst instanceId = useInstanceId( CommentsFormPlaceholder );\n\n\treturn (\n\t\t<div className=\"comment-respond\">\n\t\t\t<h3 className=\"comment-reply-title\">{ __( 'Leave a Reply' ) }</h3>\n\t\t\t<form\n\t\t\t\tnoValidate\n\t\t\t\tclassName=\"comment-form\"\n\t\t\t\tonSubmit={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t<p>\n\t\t\t\t\t<label htmlFor={ `comment-${ instanceId }` }>\n\t\t\t\t\t\t{ __( 'Comment' ) }\n\t\t\t\t\t</label>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={ `comment-${ instanceId }` }\n\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t\t<p className=\"form-submit wp-block-button\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Post Comment' ) }\n\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t</form>\n\t\t</div>\n\t);\n};\n\nconst CommentsForm = ( { postId, postType } ) => {\n\tconst [ commentStatus, setCommentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst defaultCommentStatus = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings?.defaultCommentStatus,\n\t\t[]\n\t);\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\tconst actions = [\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tkey=\"enableComments\"\n\t\t\t\t\tonClick={ () => setCommentStatus( 'open' ) }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Enable comments',\n\t\t\t\t\t\t'action that affects the current post'\n\t\t\t\t\t) }\n\t\t\t\t</Button>,\n\t\t\t];\n\t\t\treturn (\n\t\t\t\t<Warning actions={ actions }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this item.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this post type (%s).'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpostType\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn <CommentsFormPlaceholder />;\n};\n\nexport default CommentsForm;\n"], "mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,IAAI,IAAI,eAAe;AAChC;AAAA,EACC;AAAA,EACA,SAAS;AAAA,EACT;AAAA,OACM;AACP,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAC9B,SAAS,eAAe,SAAS,iBAAiB;AAClD,SAAS,iBAAiB;AAOvB,cAMC,YAND;AALH,IAAM,0BAA0B,MAAM;AACrC,QAAM,aAAa,cAAe,uBAAwB;AAE1D,SACC,qBAAC,SAAI,WAAU,mBACd;AAAA,wBAAC,QAAG,WAAU,uBAAwB,aAAI,eAAgB,GAAG;AAAA,IAC7D;AAAA,MAAC;AAAA;AAAA,QACA,YAAU;AAAA,QACV,WAAU;AAAA,QACV,UAAW,CAAE,UAAW,MAAM,eAAe;AAAA,QAE7C;AAAA,+BAAC,OACA;AAAA,gCAAC,WAAM,SAAU,WAAY,UAAW,IACrC,aAAI,SAAU,GACjB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACA,IAAK,WAAY,UAAW;AAAA,gBAC5B,MAAK;AAAA,gBACL,MAAK;AAAA,gBACL,MAAK;AAAA,gBACL,UAAQ;AAAA;AAAA,YACT;AAAA,aACD;AAAA,UACA,oBAAC,OAAE,WAAU,+BACZ;AAAA,YAAC;AAAA;AAAA,cACA,MAAK;AAAA,cACL,MAAK;AAAA,cACL,WAAY;AAAA,gBACX;AAAA,gBACA,kCAAmC,QAAS;AAAA,cAC7C;AAAA,cACA,OAAQ,GAAI,cAAe;AAAA,cAC3B,OAAQ,GAAI,cAAe;AAAA,cAC3B,iBAAc;AAAA;AAAA,UACf,GACD;AAAA;AAAA;AAAA,IACD;AAAA,KACD;AAEF;AAEA,IAAM,eAAe,CAAE,EAAE,QAAQ,SAAS,MAAO;AAChD,QAAM,CAAE,eAAe,gBAAiB,IAAI;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,eAAe,aAAa,UAAa,WAAW;AAE1D,QAAM,uBAAuB;AAAA,IAC5B,CAAE,WACD,OAAQ,gBAAiB,EAAE,YAAY,EACrC,kCAAkC;AAAA,IACrC,CAAC;AAAA,EACF;AAEA,QAAM,2BAA2B;AAAA,IAAW,CAAE,WAC7C,WACG,CAAC,CAAE,OAAQ,SAAU,EAAE,YAAa,QAAS,GAAG,SAAS,WACzD;AAAA,EACJ;AAEA,MAAK,CAAE,gBAAgB,WAAW,eAAgB;AACjD,QAAK,aAAa,eAAgB;AACjC,YAAM,UAAU;AAAA,QACf;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YAErB,SAAU,MAAM,iBAAkB,MAAO;AAAA,YACzC,SAAQ;AAAA,YAEN;AAAA,cACD;AAAA,cACA;AAAA,YACD;AAAA;AAAA,UAPI;AAAA,QAQL;AAAA,MACD;AACA,aACC,oBAAC,WAAQ,SACN;AAAA,QACD;AAAA,MACD,GACD;AAAA,IAEF,WAAY,CAAE,0BAA2B;AACxC,aACC,oBAAC,WACE;AAAA;AAAA,QAED;AAAA,UACC;AAAA,QACD;AAAA,QACA;AAAA,MACD,GACD;AAAA,IAEF,WAAY,WAAW,sBAAuB;AAC7C,aACC,oBAAC,WACE;AAAA,QACD;AAAA,MACD,GACD;AAAA,IAEF;AAAA,EACD;AAEA,SAAO,oBAAC,2BAAwB;AACjC;AAEA,IAAO,eAAQ;", "names": [] }