/**
* The PostClassTextControl component for use in the Custom Classes panel.
*
* @since 3.1.0
* @package Genesis\JS
* @author StudioPress
* @license GPL-2.0-or-later
*/
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { compose } from '@wordpress/compose';
import { select, withSelect, withDispatch } from '@wordpress/data';
import { TextControl } from '@wordpress/components';
/**
* Internal dependencies
*/
import { newMeta } from '../editor/new-meta.js';
function PostControl( { postClass, onUpdate } ) {
return (
<TextControl
label={ __( 'Post Class', 'genesis' ) }
value={ postClass }
onChange={ ( newClass ) => onUpdate( newClass ) }
/>
);
}
export const PostClassTextControl = compose( [
withSelect( () => {
return {
postClass: select( 'core/editor' ).getEditedPostAttribute( 'meta' )._genesis_custom_post_class,
};
} ),
withDispatch( ( dispatch ) => ( {
onUpdate( newClass ) {
dispatch( 'core/editor' ).editPost(
{ meta: newMeta( '_genesis_custom_post_class', newClass ) }
);
},
} ) ),
] )( PostControl );