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 / actions / components / ValidateButton.js
jetformbuilder / assets / src / package / actions / components Last commit date
ActionFetchButton.js 2 years ago ActionMessages.js 2 years ago ActionMessagesSlotFills.js 2 years ago FetchAjaxButton.js 2 years ago FetchApiButton.js 2 years ago PlaceholderMessage.js 2 years ago RequestButton.js 2 years ago RequestLoadingButton.js 2 years ago UseGlobalControl.js 2 years ago ValidateButton.js 2 years ago ValidateButtonWithStore.js 2 years ago
ValidateButton.js
50 lines
1 import RequestButton from './RequestButton';
2 import useStateValidClasses from '../../hooks/useStateValidClasses';
3
4 const {
5 useState,
6 } = wp.element;
7
8 function ValidateButton( {
9 initialValid = null,
10 label,
11 ajaxArgs = {},
12 onValid = () => {},
13 onInvalid = () => {},
14 } ) {
15
16 const [ buttonProps, setButtonProps ] = useState( {} );
17
18 const [
19 className,
20 setValidClass,
21 setInvalidClass,
22 setLoadingClass,
23 ] = useStateValidClasses( initialValid || null );
24
25 const setValid = response => {
26 setValidClass();
27 onValid( response );
28 setButtonProps( {} );
29 };
30
31 const setInvalid = () => {
32 setInvalidClass();
33 onInvalid();
34 setButtonProps( { isDestructive: true } );
35 };
36
37 return <RequestButton
38 ajaxArgs={ ajaxArgs }
39 label={ label }
40 onLoading={ setLoadingClass }
41 onSuccessRequest={ setValid }
42 onFailRequest={ setInvalid }
43 className={ className }
44 { ...buttonProps }
45 >
46 <i className="dashicons"/>
47 </RequestButton>;
48 }
49
50 export default ValidateButton;