PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.10.0
GiveWP – Donation Plugin and Fundraising Platform v4.10.0
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Subscriptions / resources / utils.ts
give / src / Subscriptions / resources Last commit date
admin 11 months ago common 11 months ago components 11 months ago hooks 11 months ago admin-subscriptions.tsx 1 year ago entity.ts 11 months ago types.ts 11 months ago utils.ts 11 months ago
utils.ts
65 lines
1 import { useEntityRecord } from '@wordpress/core-data';
2 import { useDispatch } from '@wordpress/data';
3 import { store as coreStore } from '@wordpress/core-data';
4 import apiFetch from '@wordpress/api-fetch';
5 import { Subscription } from '@givewp/subscriptions/admin/components/types';
6 import type { GiveSubscriptionOptions } from '@givewp/subscriptions/types';
7
8 declare const window: {
9 GiveSubscriptionOptions: GiveSubscriptionOptions;
10 } & Window;
11
12 /**
13 * @since 4.8.0
14 */
15 export function useSubscriptionEntityRecord(subscriptionId?: number) {
16 const urlParams = new URLSearchParams(window.location.search);
17
18 const {
19 record: subscription,
20 hasResolved,
21 isResolving,
22 save,
23 edit,
24 }: {
25 record: Subscription;
26 hasResolved: boolean;
27 isResolving: boolean;
28 save: () => any;
29 edit: (data: Subscription | Partial<Subscription>) => void;
30 } = useEntityRecord('givewp', 'subscription', subscriptionId ?? urlParams.get('id'));
31
32 return {record: subscription, hasResolved, isResolving, save, edit};
33 }
34
35 /**
36 * @since 4.8.0
37 */
38 export function useRefreshSubscriptionInBackground() {
39 const { receiveEntityRecords, invalidateResolution } = useDispatch(coreStore);
40
41 const refreshSubscriptionInBackground = async (subscriptionId: number) => {
42 if (!subscriptionId) return;
43
44 try {
45 const latestSubscriptionData = await apiFetch({
46 path: `/givewp/v3/subscriptions/${subscriptionId}`,
47 });
48
49 receiveEntityRecords('givewp', 'subscription', latestSubscriptionData, undefined, false);
50 } catch (error) {
51 console.error('Error refreshing subscription in background:', error);
52 invalidateResolution('getEntityRecord', ['givewp', 'subscription', subscriptionId]);
53 }
54 };
55
56 return refreshSubscriptionInBackground;
57 }
58
59 /**
60 * @since 4.8.0
61 */
62 export function getSubscriptionOptionsWindowData(): GiveSubscriptionOptions {
63 return window.GiveSubscriptionOptions;
64 }
65