PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.1
GiveWP – Donation Plugin and Fundraising Platform v3.0.1
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 / DonationForms / resources / app / DonationFormApp.tsx
give / src / DonationForms / resources / app Last commit date
errors 2 years ago fields 2 years ago form 2 years ago hooks 2 years ago store 2 years ago templates 2 years ago utilities 2 years ago DonationFormApp.tsx 2 years ago
DonationFormApp.tsx
82 lines
1 import {createRoot, render} from '@wordpress/element';
2 import getDefaultValuesFromSections from './utilities/getDefaultValuesFromSections';
3 import Form from './form/Form';
4 import {DonationFormStateProvider} from './store';
5 import getWindowData from './utilities/getWindowData';
6 import prepareFormData from './utilities/PrepareFormData';
7 import getJoiRulesForForm from './utilities/ConvertFieldAPIRulesToJoi';
8 import Header from './form/Header';
9 import mountWindowData from '@givewp/forms/app/utilities/mountWindowData';
10 import {withTemplateWrapper} from '@givewp/forms/app/templates';
11 import DonationFormErrorBoundary from '@givewp/forms/app/errors/boundaries/DonationFormErrorBoundary';
12 import MultiStepForm from '@givewp/forms/app/form/MultiStepForm';
13 import getDonationFormNodeSettings from '@givewp/forms/app/utilities/getDonationFormNodeSettings';
14 import {DonationFormSettingsProvider} from '@givewp/forms/app/store/form-settings';
15
16 const formTemplates = window.givewp.form.templates;
17 const GoalAchievedTemplate = withTemplateWrapper(formTemplates.layouts.goalAchieved);
18
19 /**
20 * Get data from the server
21 */
22 const {form} = getWindowData();
23
24 prepareFormData(form);
25
26 mountWindowData();
27
28 /**
29 * Prepare default values for form
30 */
31 const defaultValues = getDefaultValuesFromSections(form.nodes);
32
33 const schema = getJoiRulesForForm(form);
34
35 const initialState = {
36 defaultValues,
37 gateways: window.givewp.gateways.getAll(),
38 validationSchema: schema,
39 };
40
41 const formSettings = {...form.settings, ...getDonationFormNodeSettings(form)};
42
43 /**
44 * @since 3.0.0
45 */
46 function App() {
47 if (form.goal.isAchieved) {
48 return (
49 <DonationFormErrorBoundary>
50 <GoalAchievedTemplate goalAchievedMessage={form.settings.goalAchievedMessage}/>
51 </DonationFormErrorBoundary>
52 );
53 }
54
55 if (form.design?.isMultiStep) {
56 return (
57 <DonationFormSettingsProvider value={formSettings}>
58 <DonationFormStateProvider initialState={initialState}>
59 <MultiStepForm sections={form.nodes} showHeader={form.settings?.showHeader} />
60 </DonationFormStateProvider>
61 </DonationFormSettingsProvider>
62 );
63 }
64
65 return (
66 <DonationFormSettingsProvider value={formSettings}>
67 <DonationFormStateProvider initialState={initialState}>
68 {form.settings?.showHeader && <Header />}
69 <Form defaultValues={defaultValues} sections={form.nodes} validationSchema={schema} />
70 </DonationFormStateProvider>
71 </DonationFormSettingsProvider>
72 );
73 }
74
75 const root = document.getElementById('root-givewp-donation-form');
76
77 if (createRoot) {
78 createRoot(root).render(<App />);
79 } else {
80 render(<App />, root);
81 }
82