PluginProbe ʕ •ᴥ•ʔ
Presto Player / 1.8.2
Presto Player v1.8.2
4.5.0 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / src / admin / settings / pages / parts / integration / withIntegration.js
presto-player / src / admin / settings / pages / parts / integration Last commit date
ActiveCampaign.js 5 years ago FluentCRM.js 5 years ago Mailchimp.js 5 years ago MailerLite.js 5 years ago withIntegration.js 5 years ago
withIntegration.js
67 lines
1 /**
2 * WordPress dependencies
3 */
4 const { __ } = wp.i18n;
5 const { useState } = wp.element;
6 const { dispatch } = wp.data;
7 const { apiFetch } = wp;
8 const { createHigherOrderComponent } = wp.compose;
9
10 /**
11 * Higher order component factory
12 *
13 * @return {Function} The higher order component.
14 */
15 export default () =>
16 createHigherOrderComponent(
17 (WrappedComponent) => (props) => {
18 const [error, setError] = useState("");
19 const [success, setSuccess] = useState("");
20 const [isBusy, setIsBusy] = useState(false);
21
22 const makeRequest = async ({
23 path,
24 data = {},
25 message = __("Success", "presto-player"),
26 success,
27 error,
28 }) => {
29 setError("");
30 setSuccess("");
31 setIsBusy(true);
32 dispatch("presto-player/settings").setSaving(true);
33
34 try {
35 let response = await apiFetch({
36 path,
37 method: "post",
38 data,
39 });
40 success && success(response);
41 setSuccess(message);
42 } catch (e) {
43 if (e?.message) {
44 setError(e.message);
45 error && error(e);
46 }
47 } finally {
48 setIsBusy(false);
49 dispatch("presto-player/settings").setSaving(false);
50 }
51 };
52
53 return (
54 <WrappedComponent
55 success={success}
56 setSuccess={setSuccess}
57 setError={setError}
58 error={error}
59 isBusy={isBusy}
60 makeRequest={makeRequest}
61 {...props}
62 />
63 );
64 },
65 "withIntegration"
66 );
67