PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.2.2
Presto Player v2.2.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 / analytics / hocs / withStat.js
presto-player / src / admin / analytics / hocs Last commit date
withDataList.js 5 years ago withStat.js 5 years ago
withStat.js
59 lines
1 /**
2 * WordPress dependencies
3 */
4 const { apiFetch } = wp;
5 const { useState } = wp.element;
6 const { createHigherOrderComponent } = wp.compose;
7
8 /**
9 * Higher order component factory
10 *
11 * @return {Function} The higher order component.
12 */
13 export default () =>
14 createHigherOrderComponent(
15 (WrappedComponent) => (props) => {
16 const [loading, setLoading] = useState(false);
17 const [stat, setStat] = useState([]);
18 const [error, setError] = useState("");
19
20 // fetch data
21 // we could also abstract this function to make it reusable
22 // or do a higher order component
23 const fetchData = async ({ endpoint, params = {} }) => {
24 setLoading(true);
25
26 let responseData;
27 try {
28 responseData = await apiFetch({
29 path: wp.url.addQueryArgs(endpoint, {
30 ...params,
31 }),
32 });
33 setStat(responseData);
34 } catch (e) {
35 console.error(e);
36 if (e?.message) {
37 setError(e.message);
38 }
39 } finally {
40 setLoading(false);
41 }
42 };
43
44 return (
45 <WrappedComponent
46 loading={loading}
47 setLoading={setLoading}
48 fetchData={fetchData}
49 stat={stat}
50 setStat={setStat}
51 error={error}
52 setError={setError}
53 {...props}
54 />
55 );
56 },
57 "withStat"
58 );
59