Files
medicalalert-web-reloaded/wp/wp-content/plugins/leadin/scripts/utils/withMetaData.ts
2024-09-25 09:25:31 -04:00

31 lines
792 B
TypeScript

import { withSelect, withDispatch, select } from '@wordpress/data';
// from answer here: https://github.com/WordPress/gutenberg/issues/44477#issuecomment-1263026599
export const isFullSiteEditor = () => {
return select && !!select('core/edit-site');
};
const applyWithSelect = withSelect((select: Function, props: any): any => {
return {
metaValue: select('core/editor').getEditedPostAttribute('meta')[
props.metaKey
],
};
});
const applyWithDispatch = withDispatch(
(dispatch: Function, props: any): any => {
return {
setMetaValue(value: string) {
dispatch('core/editor').editPost({ meta: { [props.metaKey]: value } });
},
};
}
);
function apply<T>(el: T): T {
return applyWithSelect(applyWithDispatch(el));
}
export default apply;