PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.1.1
JetFormBuilder — Dynamic Blocks Form Builder v3.1.1
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / assets / src / package / hooks / useMetaState.js
jetformbuilder / assets / src / package / hooks Last commit date
useIsHasAttribute.js 2 years ago useMetaState.js 2 years ago useRepeaterState.js 2 years ago useSelectPostMeta.js 2 years ago useStateLoadingClasses.js 2 years ago useStateValidClasses.js 2 years ago useSuccessNotice.js 2 years ago withSelectFormFields.js 2 years ago
useMetaState.js
46 lines
1 const {
2 useSelect,
3 useDispatch,
4 } = wp.data;
5
6 function useMetaState(
7 key,
8 ifEmpty = '{}',
9 dependencies = undefined,
10 ) {
11 const meta = useSelect( ( select ) => {
12 const rawMeta = select( 'core/editor' ).getEditedPostAttribute( 'meta' ) || {};
13
14 return JSON.parse( rawMeta[ key ] || ifEmpty );
15 }, dependencies );
16
17 const { editPost } = useDispatch( 'core/editor' );
18
19 const setMetaStateValue = callable => {
20 let value;
21
22 if ( 'function' === typeof callable ) {
23 value = callable( meta );
24 }
25 else {
26 value = callable;
27 }
28
29 if ( 'object' !== typeof value || null === value ) {
30 value = JSON.parse( ifEmpty );
31 }
32
33 editPost( {
34 meta: (
35 {
36 ...meta,
37 [ key ]: JSON.stringify( value ),
38 }
39 ),
40 } );
41 };
42
43 return [ meta, setMetaStateValue ];
44 }
45
46 export default useMetaState;