PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.2.2
GiveWP – Donation Plugin and Fundraising Platform v2.2.2
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 / blocks / donation-form / edit / block.js
give / blocks / donation-form / edit Last commit date
form 8 years ago scss 8 years ago block.js 8 years ago controls.js 8 years ago inspector.js 7 years ago
block.js
98 lines
1 /**
2 * Block dependencies
3 */
4 import isEmpty from 'lodash.isempty';
5 import pickBy from 'lodash.pickby';
6 import isUndefined from 'lodash.isundefined';
7 import GiveBlankSlate from '../../components/blank-slate/index';
8 import NoForms from '../../components/no-form/index';
9 import EditForm from '../../components/edit-form/index';
10 import FormPreview from './form/preview';
11 import FormSelect from '../../components/form-select/index';
12 import {stringify} from "querystringify";
13
14 /**
15 * Internal dependencies
16 */
17 const { __ } = wp.i18n;
18 const { withAPIData } = wp.components;
19 const { Component } = wp.element;
20
21 /**
22 * Render Block UI For Editor
23 *
24 * @class GiveForm
25 * @extends {Component}
26 */
27 class GiveForm extends Component {
28 constructor(props) {
29 super( ...props );
30 }
31
32 /**
33 * Render block UI
34 *
35 * @returns {object} JSX Object
36 * @memberof GiveForm
37 */
38 render() {
39 const props = this.props,
40 attributes = props.attributes,
41 {isLoading} = props.form;
42
43 // Render block UI
44 let blockUI;
45
46 if (!attributes.id) {
47 if (isLoading || isUndefined(props.form.data)) {
48 blockUI = <GiveBlankSlate title={__('Loading...')} isLoader={true}/>;
49 } else if (isEmpty(props.form.data)) {
50 blockUI = <NoForms/>;
51 } else {
52 blockUI = <FormSelect {... {...props}} />;
53 }
54 } else {
55 if (isEmpty(props.form.data)) {
56 blockUI = isLoading ?
57 <GiveBlankSlate title={__('Loading...')} isLoader={true}/> :
58 <EditForm formId={attributes.id} {... {...props}}/>;
59 } else {
60 blockUI = <FormPreview
61 html={props.form.data}
62 {... {...props}} />;
63 }
64 }
65
66 return (
67 <div className={!!props.isSelected ? `${props.className} isSelected` : props.className} key="GiveBlockUI">
68 {blockUI}
69 </div>
70 );
71 }
72 }
73
74 /**
75 * Export component attaching withAPIdata
76 */
77 export default withAPIData((props) => {
78 const {showTitle, showGoal, showContent, displayStyle, continueButtonTitle, id } = props.attributes;
79
80 let parameters = {
81 show_title: showTitle,
82 show_goal: showGoal,
83 show_content: showContent,
84 display_style: displayStyle
85 };
86
87 if ('reveal' === displayStyle) {
88 parameters.continue_button_title = continueButtonTitle;
89 }
90
91 parameters = stringify(pickBy(parameters, value => !isUndefined(value)));
92
93 return {
94 form: `/${giveApiSettings.rest_base}/form/${ id }/?${ parameters }`,
95 forms: '/wp/v2/give_forms',
96 };
97 })(GiveForm);
98