63 lines
1.3 KiB
JavaScript
Executable file
63 lines
1.3 KiB
JavaScript
Executable file
/**
|
|
* External dependencies.
|
|
*/
|
|
import { compose } from '@wordpress/compose';
|
|
import { addFilter } from '@wordpress/hooks';
|
|
import { withDispatch } from '@wordpress/data';
|
|
|
|
/**
|
|
* Carbon Fields dependencies.
|
|
*/
|
|
import { withValidation } from '@carbon-fields/core';
|
|
|
|
/**
|
|
* Internal dependencies.
|
|
*/
|
|
import withConditionalLogic from '../hocs/with-conditional-logic';
|
|
import isGutenberg from '../../metaboxes/utils/is-gutenberg';
|
|
|
|
/**
|
|
* Connects every field to the store.
|
|
*/
|
|
addFilter( 'carbon-fields.field-edit.block', 'carbon-fields/blocks', compose(
|
|
withConditionalLogic,
|
|
withDispatch( ( dispatch ) => {
|
|
// Widgets support - WordPress 5.8
|
|
if ( isGutenberg() ) {
|
|
const { lockPostSaving, unlockPostSaving } = dispatch( 'core/editor' );
|
|
|
|
return {
|
|
lockSaving: lockPostSaving,
|
|
unlockSaving: unlockPostSaving
|
|
};
|
|
}
|
|
|
|
return {};
|
|
} ),
|
|
withValidation
|
|
) );
|
|
|
|
/**
|
|
* Internal dependencies.
|
|
*/
|
|
import './association';
|
|
import './complex';
|
|
import './datetime';
|
|
import './file';
|
|
import './footer-scripts';
|
|
import './header-scripts';
|
|
import './hidden';
|
|
import './image';
|
|
import './map';
|
|
import './multiselect';
|
|
import './media-gallery';
|
|
import './oembed';
|
|
import './radio';
|
|
import './radio-image';
|
|
import './select';
|
|
import './set';
|
|
import './sidebar';
|
|
import './separator';
|
|
import './text';
|
|
import './textarea';
|
|
import './block-preview';
|