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 / actions / components / FetchAjaxButton.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
FetchAjaxButton.js
52 lines
1 import RequestButton from './RequestButton';
2 import withSelectActionLoading from '../hooks/withSelectActionLoading';
3 import withDispatchActionLoading
4 from '../hooks/withDispatchActionLoading';
5
6 const { compose } = wp.compose;
7
8 const {
9 withSelect,
10 withDispatch,
11 } = wp.data;
12
13 function FetchAjaxButton( {
14 initialLabel = 'Valid',
15 label = 'InValid',
16 ajaxArgs = {},
17 loadingState,
18 setLoading,
19 id,
20 setResultSuccess,
21 setResultFail,
22 } ) {
23
24 const getLabel = () => {
25 if ( - 1 === loadingState.id && initialLabel ) {
26 return initialLabel;
27 }
28
29 return label;
30 };
31
32 return <RequestButton
33 disabled={ loadingState.loading }
34 ajaxArgs={ ajaxArgs }
35 label={ getLabel() }
36 onLoading={ () => {
37 setLoading( id );
38 } }
39 onSuccessRequest={ response => {
40 setResultSuccess( id, response );
41 } }
42 onFailRequest={ () => setResultFail( id ) }
43 className={ loadingState.buttonClassName }
44 >
45 <i className="dashicons"/>
46 </RequestButton>;
47 }
48
49 export default compose(
50 withSelect( withSelectActionLoading ),
51 withDispatch( withDispatchActionLoading ),
52 )( FetchAjaxButton );