PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.1.6
JetFormBuilder — Dynamic Blocks Form Builder v3.1.6
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 / blocks / hooks / useUniqueNameOnDuplicate.js
jetformbuilder / assets / src / package / blocks / hooks Last commit date
useBlockAttributes.js 2 years ago useFields.js 2 years ago useIsAdvancedValidation.js 2 years ago useIsUniqueFieldName.js 2 years ago useSupport.js 2 years ago useUniqKey.js 2 years ago useUniqueNameOnDuplicate.js 2 years ago
useUniqueNameOnDuplicate.js
57 lines
1 import { storeName } from '../store';
2 import useBlockAttributes from './useBlockAttributes';
3
4 const {
5 useEffect,
6 } = wp.element;
7
8 const {
9 useSelect,
10 } = wp.data;
11
12 const {
13 useBlockProps,
14 } = wp.blockEditor;
15
16 function useUniqueNameOnDuplicate( customChangeNames = null ) {
17 const blockProps = useBlockProps();
18 const [ , setAttrs ] = useBlockAttributes();
19
20 const clientId = blockProps[ 'data-block' ];
21
22 const names = useSelect(
23 select => {
24 const isJust = select( storeName ).isRecentlyAdded( clientId );
25
26 if ( !isJust ) {
27 return false;
28 }
29
30 const {
31 hasChanged,
32 names,
33 } = select( storeName ).getUniqueNames( clientId );
34
35 return hasChanged ? names : false;
36 },
37 [ clientId ],
38 );
39
40 useEffect( () => {
41 if ( !names ) {
42 return;
43 }
44
45 if ( 'function' === typeof customChangeNames ) {
46 customChangeNames( names );
47
48 return;
49 }
50
51 setAttrs( {
52 name: names.split( '|' )[ 0 ],
53 } );
54 }, [ names ] );
55 }
56
57 export default useUniqueNameOnDuplicate;