PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.8.0
GiveWP – Donation Plugin and Fundraising Platform v4.8.0
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 / Campaigns / resources / utils.ts
give / src / Campaigns / resources Last commit date
admin 9 months ago editor 1 year ago hooks 1 year ago store 1 year ago views 1 year ago entity.ts 1 year ago types.ts 1 year ago utils.ts 9 months ago
utils.ts
95 lines
1 import {useEntityRecord} from '@wordpress/core-data';
2 import {Campaign} from '@givewp/campaigns/admin/components/types';
3 import type {GiveCampaignOptions} from '@givewp/campaigns/types';
4 import apiFetch from '@wordpress/api-fetch';
5
6 declare const window: {
7 GiveCampaignOptions: GiveCampaignOptions;
8 } & Window;
9
10 /**
11 * @since 4.0.0
12 */
13 export function useCampaignEntityRecord(campaignId?: number) {
14 const urlParams = new URLSearchParams(window.location.search);
15
16 const {
17 record: campaign,
18 hasResolved,
19 isResolving,
20 save,
21 edit,
22 }: {
23 record: Campaign;
24 hasResolved: boolean;
25 isResolving: boolean;
26 save: () => any;
27 edit: (data: Campaign | Partial<Campaign>) => void;
28 } = useEntityRecord('givewp', 'campaign', campaignId ?? urlParams.get('id'));
29
30 return {campaign, hasResolved, isResolving, save, edit};
31 }
32
33 /**
34 * @since 4.0.0
35 */
36 export function getCampaignOptionsWindowData(): GiveCampaignOptions {
37 return window.GiveCampaignOptions;
38 }
39
40 export function handleTooltipDismiss(id: string) {
41 return apiFetch({
42 url: window.GiveCampaignOptions.adminUrl + '/admin-ajax.php?action=' + id,
43 method: 'POST',
44 })
45 }
46
47 /**
48 * @since 4.0.0
49 */
50 export function amountFormatter(currency: Intl.NumberFormatOptions['currency'], options?: Intl.NumberFormatOptions): Intl.NumberFormat {
51 return new Intl.NumberFormat(navigator.language, {
52 style: 'currency',
53 currency: currency,
54 ...options
55 });
56 }
57
58 /**
59 * @since 4.0.0
60 */
61 export async function updateUserNoticeOptions(metaKey: string){
62 try {
63 const currentUser = await apiFetch( { path: '/wp/v2/users/me' } );
64 // @ts-ignore
65 const currentUserId = currentUser?.id;
66
67 return await wp.data.dispatch('core').saveEntityRecord('root', 'user', {
68 id: currentUserId,
69 meta: {
70 [metaKey]: true
71 }
72 });
73 } catch (error) {
74 console.error('Error updating user meta:', error);
75 }
76 }
77
78 /**
79 * @since 4.0.0
80 */
81 export async function createCampaignPage(campaignId: number) {
82 try {
83 const response = await apiFetch({
84 path: `/givewp/v3/campaigns/${campaignId}/page`,
85 method: 'POST'
86 });
87
88 return response as {
89 id: number,
90 };
91 } catch (error) {
92 console.error('Error creating Campaign page:', error);
93 }
94 }
95