@payloadcms/plugin-form-builder 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +229 -167
- package/dist/collections/FormSubmissions/hooks/createCharge.d.ts +2 -2
- package/dist/collections/FormSubmissions/hooks/createCharge.js +1 -1
- package/dist/collections/FormSubmissions/hooks/createCharge.js.map +1 -1
- package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts +2 -2
- package/dist/collections/FormSubmissions/hooks/sendEmail.js +2 -2
- package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +1 -1
- package/dist/collections/FormSubmissions/index.d.ts +2 -2
- package/dist/collections/FormSubmissions/index.js +1 -1
- package/dist/collections/FormSubmissions/index.js.map +1 -1
- package/dist/collections/Forms/DynamicPriceSelector.js +9 -4
- package/dist/collections/Forms/DynamicPriceSelector.js.map +1 -1
- package/dist/collections/Forms/index.d.ts +2 -2
- package/dist/collections/Forms/index.js +2 -1
- package/dist/collections/Forms/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/mocks/serverModule.d.ts +1 -1
- package/dist/types.d.ts +26 -26
- package/dist/utilities/calculatePaymentTotal.d.ts +4 -0
- package/dist/utilities/calculatePaymentTotal.js +47 -0
- package/dist/utilities/calculatePaymentTotal.js.map +1 -0
- package/dist/utilities/deepMerge.d.ts +2 -0
- package/dist/utilities/deepMerge.js +44 -0
- package/dist/utilities/deepMerge.js.map +1 -0
- package/dist/utilities/replaceDoubleCurlys.d.ts +3 -3
- package/dist/utilities/serializeRichText.d.ts +2 -2
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
A plugin for [Payload CMS](https://github.com/payloadcms/payload) to easily allow your admin editors to build and manage forms from the admin panel.
|
|
6
6
|
|
|
7
7
|
Core features:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
|
|
9
|
+
- Creates a `forms` collection where you can:
|
|
10
|
+
- Build dynamic forms with any number of fields
|
|
11
|
+
- Add payment fields that can handle dynamic prices
|
|
12
|
+
- Build completely custom and dynamic emails
|
|
13
|
+
- Creates a `formSubmissions` collection that:
|
|
14
|
+
- Validates and saves the form data submitted by your frontend
|
|
15
|
+
- Sends emails (if applicable)
|
|
16
|
+
- Handles payment processing (if applicable)
|
|
16
17
|
|
|
17
18
|
## Installation
|
|
18
19
|
|
|
@@ -24,22 +25,20 @@ Core features:
|
|
|
24
25
|
|
|
25
26
|
## Basic Usage
|
|
26
27
|
|
|
27
|
-
In the
|
|
28
|
+
In the `plugins` array of your [Payload config](https://payloadcms.com/docs/configuration/overview), call the plugin with [options](#options):
|
|
28
29
|
|
|
29
30
|
```js
|
|
30
|
-
import { buildConfig } from
|
|
31
|
-
import formBuilder from
|
|
31
|
+
import { buildConfig } from "payload/config";
|
|
32
|
+
import formBuilder from "@payloadcms/plugin-form-builder";
|
|
32
33
|
|
|
33
34
|
const config = buildConfig({
|
|
34
35
|
collections: [
|
|
35
36
|
{
|
|
36
|
-
slug:
|
|
37
|
-
fields: []
|
|
38
|
-
}
|
|
37
|
+
slug: "pages",
|
|
38
|
+
fields: [],
|
|
39
|
+
},
|
|
39
40
|
],
|
|
40
|
-
plugins: [
|
|
41
|
-
formBuilder()
|
|
42
|
-
]
|
|
41
|
+
plugins: [formBuilder()],
|
|
43
42
|
});
|
|
44
43
|
|
|
45
44
|
export default config;
|
|
@@ -48,180 +47,243 @@ export default config;
|
|
|
48
47
|
### Options
|
|
49
48
|
|
|
50
49
|
- `fields`
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```js
|
|
54
|
-
fields: {
|
|
55
|
-
text: true,
|
|
56
|
-
textarea: true,
|
|
57
|
-
select: true,
|
|
58
|
-
email: true,
|
|
59
|
-
state: true,
|
|
60
|
-
country: true,
|
|
61
|
-
checkbox: true,
|
|
62
|
-
number: true,
|
|
63
|
-
message: true,
|
|
64
|
-
payment: false
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
You can also provide your own custom field definitions by passing a new [Payload Block](https://payloadcms.com/docs/fields/blocks#block-configs) object into `fields`.
|
|
50
|
+
An object of field types to allow your admin editors to build forms with. Pass either a boolean value or a partial [Payload Block](https://payloadcms.com/docs/fields/blocks#block-configs) to override default settings. See [Fields](#fields) for more details.
|
|
69
51
|
|
|
52
|
+
```js
|
|
53
|
+
fields: {
|
|
54
|
+
text: true,
|
|
55
|
+
textarea: true,
|
|
56
|
+
select: true,
|
|
57
|
+
email: true,
|
|
58
|
+
state: true,
|
|
59
|
+
country: true,
|
|
60
|
+
checkbox: true,
|
|
61
|
+
number: true,
|
|
62
|
+
message: true,
|
|
63
|
+
payment: false
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
You can also provide your own custom field definitions by passing a new [Payload Block](https://payloadcms.com/docs/fields/blocks#block-configs) object into `fields`.
|
|
70
68
|
|
|
71
69
|
- `redirectRelationships`
|
|
72
70
|
|
|
73
|
-
|
|
71
|
+
An array of collection slugs that, when enabled, are populated as options in form redirect fields.
|
|
74
72
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
```js
|
|
74
|
+
redirectRelationships: ["pages"];
|
|
75
|
+
```
|
|
78
76
|
|
|
79
77
|
- `handlePayment`
|
|
80
78
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
79
|
+
A [beforeChange](<[beforeChange](https://payloadcms.com/docs/hooks/globals#beforechange)>) hook that is called upon form submissions. You can integrate into any third-party payment processing API here. There is a `getPaymentTotal` function that will calculate the total cost after all conditions have been applied.
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
import { getPaymentTotal } from '@payloadcms/plugin-form-builder';
|
|
83
|
+
...
|
|
84
|
+
handlePayment: async ({ form, submissionData }) => {
|
|
85
|
+
// first calculate the price
|
|
86
|
+
const paymentField = form.fields?.find((field) => field.blockType === 'payment');
|
|
87
|
+
const price = getPaymentTotal({
|
|
88
|
+
basePrice: paymentField.basePrice,
|
|
89
|
+
priceConditions: paymentField.priceConditions,
|
|
90
|
+
fieldValues: submissionData,
|
|
91
|
+
});
|
|
92
|
+
// then asynchronously process the payment here
|
|
93
|
+
}
|
|
94
|
+
```
|
|
97
95
|
|
|
98
96
|
- `beforeEmail`
|
|
99
97
|
|
|
100
|
-
|
|
98
|
+
A [beforeChange](<[beforeChange](https://payloadcms.com/docs/hooks/globals#beforechange)>) hook that is called just after emails are prepared, but before they are sent. This is a great place to inject your own HTML template to add custom styles.
|
|
101
99
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
100
|
+
```js
|
|
101
|
+
beforeEmail: (emailsToSend) => {
|
|
102
|
+
// modify the emails in any way before they are sent
|
|
103
|
+
return emails.map((email) => ({
|
|
104
|
+
...email,
|
|
105
|
+
html: email.html, // transform the html in any way you'd like (maybe wrap it in an html template?)
|
|
106
|
+
}));
|
|
107
|
+
};
|
|
108
|
+
```
|
|
111
109
|
|
|
112
110
|
- `formOverrides`
|
|
113
111
|
|
|
114
|
-
|
|
112
|
+
Override anything on the form collection by sending a [Payload Collection Config](https://payloadcms.com/docs/configuration/collections). Your overrides will be merged into the default `forms` collection.
|
|
115
113
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
114
|
+
```js
|
|
115
|
+
formOverrides: {
|
|
116
|
+
slug: "contact-forms";
|
|
117
|
+
}
|
|
118
|
+
```
|
|
121
119
|
|
|
122
120
|
- `formSubmissionOverrides`
|
|
123
|
-
|
|
121
|
+
By default, this plugin relies on [Payload access control](https://payloadcms.com/docs/access-control/collections) to restrict the `update` and `read` operations. This is because anyone should be able to create a form submission, even from a public-facing website - but no one should be able to update a submission one it has been created, or read a submission unless they have permission.
|
|
124
122
|
|
|
125
|
-
|
|
123
|
+
You can override access control and anything else on the form submission collection by sending a [Payload Collection Config](https://payloadcms.com/docs/configuration/collections). Your overrides will be merged into the default `formSubmissions` collection.
|
|
126
124
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
125
|
+
```js
|
|
126
|
+
formSubmissionOverrides: {
|
|
127
|
+
slug: "leads";
|
|
128
|
+
}
|
|
129
|
+
```
|
|
132
130
|
|
|
133
131
|
## Fields
|
|
134
132
|
|
|
135
133
|
Each form field is defined as a [Payload Block](https://payloadcms.com/docs/fields/blocks) with the following subfields:
|
|
136
134
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
135
|
+
- Text
|
|
136
|
+
- `name`: string
|
|
137
|
+
- `label`: string
|
|
138
|
+
- `defaultValue`: string
|
|
139
|
+
- `width`: string
|
|
140
|
+
- `required`: checkbox
|
|
141
|
+
- Textarea
|
|
142
|
+
- `name`: string
|
|
143
|
+
- `label`: string
|
|
144
|
+
- `defaultValue`: string
|
|
145
|
+
- `width`: string
|
|
146
|
+
- `required`: checkbox
|
|
147
|
+
- Select
|
|
148
|
+
- `name`: string
|
|
149
|
+
- `label`: string
|
|
150
|
+
- `defaultValue`: string
|
|
151
|
+
- `width`: string
|
|
152
|
+
- `options`: array
|
|
153
|
+
- `required`: checkbox
|
|
154
|
+
- Email
|
|
155
|
+
- `name`: string
|
|
156
|
+
- `label`: string
|
|
157
|
+
- `defaultValue`: string
|
|
158
|
+
- `width`: string
|
|
159
|
+
- `required`: checkbox
|
|
160
|
+
- State
|
|
161
|
+
- `name`: string
|
|
162
|
+
- `label`: string
|
|
163
|
+
- `defaultValue`: string
|
|
164
|
+
- `width`: string
|
|
165
|
+
- `required`: checkbox
|
|
166
|
+
- Country
|
|
167
|
+
- `name`: string
|
|
168
|
+
- `label`: string
|
|
169
|
+
- `defaultValue`: string
|
|
170
|
+
- `width`: string
|
|
171
|
+
- `required`: checkbox
|
|
172
|
+
- Checkbox
|
|
173
|
+
- `name`: string
|
|
174
|
+
- `label`: string
|
|
175
|
+
- `defaultValue`: checkbox
|
|
176
|
+
- `width`: string
|
|
177
|
+
- `required`: checkbox
|
|
178
|
+
- Number
|
|
179
|
+
- `name`: string
|
|
180
|
+
- `label`: string
|
|
181
|
+
- `defaultValue`: number
|
|
182
|
+
- `width`: string
|
|
183
|
+
- `required`: checkbox
|
|
184
|
+
- Message
|
|
185
|
+
- `message`: richText
|
|
186
|
+
- Payment
|
|
187
|
+
- `name`: string
|
|
188
|
+
- `label`: string
|
|
189
|
+
- `defaultValue`: number
|
|
190
|
+
- `width`: string
|
|
191
|
+
- `required`: checkbox
|
|
192
|
+
- `priceConditions`: array
|
|
193
|
+
- `fieldToUse`: relationship, dynamically populated based on the fields in your form
|
|
194
|
+
- `condition`: string - `equals`, `notEquals` | `hasValue`
|
|
195
|
+
- `valueForOperator`: string - only if `condition` is `equals` or `notEquals`
|
|
196
|
+
- `operator`: string - `add`, `subtract`, `multiply`, `divide`
|
|
197
|
+
- `valueType`: string - `static`, `valueOfField`
|
|
198
|
+
- `value`: string - only if `valueType` is `static`
|
|
199
|
+
|
|
200
|
+
## Email
|
|
201
|
+
|
|
202
|
+
This plugin relies on the [email configuration](https://payloadcms.com/docs/email/overview) defined in your `payload.init()`. It will read from your config and attempt to send your emails using the credentials provided.
|
|
203
|
+
|
|
204
|
+
## TypeScript
|
|
205
|
+
|
|
206
|
+
All types can be directly imported:
|
|
207
|
+
|
|
208
|
+
```js
|
|
209
|
+
import {
|
|
210
|
+
PluginConfig,
|
|
211
|
+
Form,
|
|
212
|
+
FormSubmission,
|
|
213
|
+
FieldsConfig,
|
|
214
|
+
BeforePayment,
|
|
215
|
+
HandlePayment,
|
|
216
|
+
} from "@payloadcms/plugin-form-builder/dist/types";
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Development
|
|
220
|
+
|
|
221
|
+
To actively develop or debug this plugin you can either work directly within the demo directory of this repo, or link your own project.
|
|
222
|
+
|
|
223
|
+
1. #### Internal Demo
|
|
224
|
+
|
|
225
|
+
This repo includes a fully working, self-seeding instance of Payload that installs the plugin directly from the source code. This is the easiest way to get started. To spin up this demo, follow these steps:
|
|
226
|
+
|
|
227
|
+
1. First clone the repo
|
|
228
|
+
1. Then, `cd YOUR_PLUGIN_REPO && yarn && cd demo && cp env.example .env && yarn && yarn dev`
|
|
229
|
+
1. Now open `http://localhost:3000/admin` in your browser
|
|
230
|
+
1. Enter username `dev@payloadcms.com` and password `test`
|
|
231
|
+
|
|
232
|
+
That's it! Changes made in `./src` will be reflected in your demo. Keep in mind that the demo database is automatically seeded on every startup, any changes you make to the data get destroyed each time you reboot the app.
|
|
233
|
+
|
|
234
|
+
1. #### Linked Project
|
|
235
|
+
|
|
236
|
+
You can alternatively link your own project to the source code:
|
|
237
|
+
|
|
238
|
+
1. First clone the repo
|
|
239
|
+
1. Then, `cd YOUR_PLUGIN_REPO && yarn && yarn build && yarn link`
|
|
240
|
+
1. Now `cd` back into your own project and run, `yarn link @payloadcms/plugin-form-builder`
|
|
241
|
+
1. If this plugin using React in any way, continue to the next step. Otherwise skip to step 7.
|
|
242
|
+
1. From your own project, `cd node_modules/react && yarn link && cd ../react-dom && yarn link && cd ../../`
|
|
243
|
+
1. Then, `cd YOUR_PLUGIN_REPO && yarn link react react-dom`
|
|
244
|
+
|
|
245
|
+
All set! You can now boot up your own project as normal, and your local copy of the plugin source code will be used. Keep in mind that changes to the source code require a rebuild, `yarn build`.
|
|
246
|
+
|
|
247
|
+
You might also need to alias these modules in your Webpack config. To do this, open your project's Payload config and add the following:
|
|
248
|
+
|
|
249
|
+
```js
|
|
250
|
+
import { buildConfig } from "payload/config";
|
|
251
|
+
|
|
252
|
+
export default buildConfig({
|
|
253
|
+
admin: {
|
|
254
|
+
webpack: (config) => ({
|
|
255
|
+
...config,
|
|
256
|
+
resolve: {
|
|
257
|
+
...config.resolve,
|
|
258
|
+
alias: {
|
|
259
|
+
...config.resolve.alias,
|
|
260
|
+
react: path.join(__dirname, "../node_modules/react"),
|
|
261
|
+
"react-dom": path.join(__dirname, "../node_modules/react-dom"),
|
|
262
|
+
payload: path.join(__dirname, "../node_modules/payload"),
|
|
263
|
+
"@payloadcms/plugin-form-builder": path.join(
|
|
264
|
+
__dirname,
|
|
265
|
+
"../../payload/plugin-form-builder/src"
|
|
266
|
+
),
|
|
267
|
+
},
|
|
268
|
+
},
|
|
269
|
+
}),
|
|
270
|
+
},
|
|
271
|
+
});
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Troubleshooting
|
|
275
|
+
|
|
276
|
+
Below are some common troubleshooting tips. To help other developers, please contribute to this section as you troubleshoot your own application.
|
|
277
|
+
|
|
278
|
+
### SendGrid 403 Forbidden Error
|
|
279
|
+
|
|
280
|
+
- If you are using [SendGrid Link Branding](https://docs.sendgrid.com/ui/account-and-settings/how-to-set-up-link-branding) to remove the "via sendgrid.net" part of your email, you must also setup [Domain Authentication](https://docs.sendgrid.com/ui/account-and-settings/how-to-set-up-domain-authentication). This means you can only send emails from an address on this domain — so the `from` addresses in your form submission emails **_cannot_** be anything other than `something@your_domain.com`. This means that from `{{email}}` will not work, but `website@your_domain.com` will. You can still send the form's email address in the body of the email.
|
|
219
281
|
|
|
220
|
-
|
|
282
|
+
## Screenshots
|
|
221
283
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
284
|
+

|
|
285
|
+

|
|
286
|
+

|
|
287
|
+

|
|
288
|
+

|
|
289
|
+

|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const createCharge: (beforeChangeData: any, formConfig:
|
|
1
|
+
import { PluginConfig } from "../../../types";
|
|
2
|
+
declare const createCharge: (beforeChangeData: any, formConfig: PluginConfig) => Promise<any>;
|
|
3
3
|
export default createCharge;
|
|
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
18
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
19
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
20
|
switch (op[0]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCharge.js","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,YAAY,GAAG,UAAO,gBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"createCharge.js","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,YAAY,GAAG,UAAO,gBAAqB,EAAE,UAAwB;;;;;gBAEvE,SAAS,GAEP,gBAAgB,UAFT,EACT,IAAI,GACF,gBAAgB,KADd,CACe;gBAEjB,sBAAsB,GAAG,IAAI,CAAC;qBAE9B,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;gBAEtB,aAAa,GACX,CAAA,UAAU,IAAI,EAAE,CAAA,cADL,CACM;qBAEjB,CAAA,OAAO,aAAa,KAAK,UAAU,CAAA,EAAnC,wBAAmC;gBACZ,qBAAM,aAAa,CAAC,gBAAgB,CAAC,EAAA;;gBAA9D,sBAAsB,GAAG,SAAqC,CAAC;;oBAInE,sBAAO,sBAAsB,EAAC;;;KAC/B,CAAC;AAEF,kBAAe,YAAY,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const sendEmail: (beforeChangeData: any, formConfig:
|
|
1
|
+
import { PluginConfig } from '../../../types';
|
|
2
|
+
declare const sendEmail: (beforeChangeData: any, formConfig: PluginConfig) => Promise<any>;
|
|
3
3
|
export default sendEmail;
|
|
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
25
25
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
26
|
function step(op) {
|
|
27
27
|
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
29
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
30
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
31
|
switch (op[0]) {
|
|
@@ -93,7 +93,7 @@ var sendEmail = function (beforeChangeData, formConfig) { return __awaiter(void
|
|
|
93
93
|
from: from,
|
|
94
94
|
replyTo: replyTo,
|
|
95
95
|
subject: (0, replaceDoubleCurlys_1.replaceDoubleCurlys)(subject, submissionData_1),
|
|
96
|
-
html: "<div>".concat((0, serializeRichText_1.serialize)(message, submissionData_1))
|
|
96
|
+
html: "<div>".concat((0, serializeRichText_1.serialize)(message, submissionData_1), "</div>")
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendEmail.js","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0EAAiE;AAEjE,8EAA6E;AAE7E,IAAM,SAAS,GAAG,UAAO,gBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"sendEmail.js","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CollectionConfig } from 'payload/types';
|
|
2
|
-
import {
|
|
3
|
-
export declare const generateSubmissionCollection: (formConfig:
|
|
2
|
+
import { PluginConfig } from '../../types';
|
|
3
|
+
export declare const generateSubmissionCollection: (formConfig: PluginConfig) => CollectionConfig;
|
|
@@ -30,7 +30,7 @@ var createCharge_1 = __importDefault(require("./hooks/createCharge"));
|
|
|
30
30
|
var generateSubmissionCollection = function (formConfig) {
|
|
31
31
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
32
32
|
var newConfig = {
|
|
33
|
-
slug: ((_a = formConfig === null || formConfig === void 0 ? void 0 : formConfig.formSubmissionOverrides) === null || _a === void 0 ? void 0 : _a.slug) || '
|
|
33
|
+
slug: ((_a = formConfig === null || formConfig === void 0 ? void 0 : formConfig.formSubmissionOverrides) === null || _a === void 0 ? void 0 : _a.slug) || 'form-submissions',
|
|
34
34
|
access: __assign({ create: function () { return true; }, update: function () { return false; }, read: function (_a) {
|
|
35
35
|
var user = _a.req.user;
|
|
36
36
|
return !!user;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/collections/FormSubmissions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gEAA0C;AAC1C,sEAAgD;AAEhD,+CAA+C;AACxC,IAAM,4BAA4B,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/collections/FormSubmissions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,11 +37,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
37
37
|
exports.DynamicPriceSelector = void 0;
|
|
38
38
|
var react_1 = __importStar(require("react"));
|
|
39
39
|
var forms_1 = require("payload/components/forms");
|
|
40
|
+
var utilities_1 = require("payload/components/utilities");
|
|
40
41
|
var DynamicPriceSelector = function (props) {
|
|
42
|
+
var _a;
|
|
41
43
|
var path = props.path, label = props.label;
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var _c = (0, react_1.useState)(),
|
|
44
|
+
var _b = (0, forms_1.useWatchForm)(), fields = _b.fields, getDataByPath = _b.getDataByPath, getData = _b.getData;
|
|
45
|
+
var locale = (0, utilities_1.useLocale)();
|
|
46
|
+
var _c = (0, react_1.useState)(), isNumberField = _c[0], setIsNumberField = _c[1];
|
|
47
|
+
var _d = (0, react_1.useState)(), valueType = _d[0], setValueType = _d[1];
|
|
45
48
|
// only number fields can use 'valueOfField`
|
|
46
49
|
(0, react_1.useEffect)(function () {
|
|
47
50
|
if (path) {
|
|
@@ -68,9 +71,11 @@ var DynamicPriceSelector = function (props) {
|
|
|
68
71
|
if (valueType === 'static') {
|
|
69
72
|
return (react_1.default.createElement(forms_1.Text, __assign({}, props)));
|
|
70
73
|
}
|
|
74
|
+
var localLabels = typeof label === 'object' ? label : (_a = {}, _a[locale] = label, _a);
|
|
75
|
+
var labelValue = localLabels[locale] || localLabels['en'] || '';
|
|
71
76
|
if (valueType === 'valueOfField' && !isNumberField) {
|
|
72
77
|
return (react_1.default.createElement("div", null,
|
|
73
|
-
react_1.default.createElement("div", null,
|
|
78
|
+
react_1.default.createElement("div", null, labelValue),
|
|
74
79
|
react_1.default.createElement("div", { style: {
|
|
75
80
|
color: '#9A9A9A',
|
|
76
81
|
} }, "The selected field must be a number field.")));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicPriceSelector.js","sourceRoot":"","sources":["../../../src/collections/Forms/DynamicPriceSelector.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAmD;AACnD,kDAA8D;
|
|
1
|
+
{"version":3,"file":"DynamicPriceSelector.js","sourceRoot":"","sources":["../../../src/collections/Forms/DynamicPriceSelector.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAmD;AACnD,kDAA8D;AAG9D,0DAAyD;AAOlD,IAAM,oBAAoB,GAA4B,UAAC,KAAK;;IAE/D,IAAA,IAAI,GAEF,KAAK,KAFH,EACJ,KAAK,GACH,KAAK,MADF,CACG;IAEJ,IAAA,KAIF,IAAA,oBAAY,GAAE,EAHhB,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,OAAO,aACS,CAAC;IAEnB,IAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;IAErB,IAAA,KAAoC,IAAA,gBAAQ,GAAW,EAAtD,aAAa,QAAA,EAAE,gBAAgB,QAAuB,CAAC;IACxD,IAAA,KAA4B,IAAA,gBAAQ,GAA6B,EAAhE,SAAS,QAAA,EAAE,YAAY,QAAyC,CAAC;IAExE,4CAA4C;IAC5C,IAAA,iBAAS,EAAC;QACR,IAAI,IAAI,EAAE;YACR,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACzD,IAAM,gBAAgB,GAAQ,aAAa,CAAC,UAAU,CAAC,CAAC;YAExD,IAAI,gBAAgB,EAAE;gBAElB,IAAA,YAAU,GAER,gBAAgB,WAFR,EACV,WAAS,GACP,gBAAgB,UADT,CACU;gBAErB,YAAY,CAAC,WAAS,CAAC,CAAC;gBAEhB,IAAQ,SAAS,GAAW,OAAO,EAAE,OAApB,CAAqB;gBAC9C,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,UAAC,KAAkB,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,YAAU,EAAzB,CAAyB,CAAC,CAAC;gBAEhF,IAAI,KAAK,EAAE;oBACD,IAAA,SAAS,GAAK,KAAK,UAAV,CAAW;oBAC5B,gBAAgB,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;iBAC1C;aACF;SACF;IACH,CAAC,EAAE;QACD,MAAM;QACN,IAAI;QACJ,aAAa;QACb,OAAO;KACR,CAAC,CAAC;IAEH,mDAAmD;IACnD,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,OAAO,CACL,8BAAC,YAAI,eAAK,KAAK,EAAI,CACpB,CAAA;KACF;IAED,IAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAG,GAAC,MAAM,IAAG,KAAK,KAAE,CAAC;IAC5E,IAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAElE,IAAI,SAAS,KAAK,cAAc,IAAI,CAAC,aAAa,EAAE;QAClD,OAAO,CACL;YACE,2CACG,UAAU,CACP;YACN,uCACE,KAAK,EAAE;oBACL,KAAK,EAAE,SAAS;iBACjB,iDAGG,CACF,CACP,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAC;AA3EW,QAAA,oBAAoB,wBA2E/B"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CollectionConfig } from 'payload/types';
|
|
2
|
-
import {
|
|
3
|
-
export declare const generateFormCollection: (formConfig:
|
|
2
|
+
import { PluginConfig } from '../../types';
|
|
3
|
+
export declare const generateFormCollection: (formConfig: PluginConfig) => CollectionConfig;
|
|
@@ -75,7 +75,8 @@ var generateFormCollection = function (formConfig) {
|
|
|
75
75
|
layout: 'horizontal',
|
|
76
76
|
},
|
|
77
77
|
});
|
|
78
|
-
redirect.fields[2].
|
|
78
|
+
if (redirect.fields[2].type !== 'row')
|
|
79
|
+
redirect.fields[2].label = 'Custom URL';
|
|
79
80
|
redirect.fields[2].admin = {
|
|
80
81
|
condition: function (_, siblingData) { return (siblingData === null || siblingData === void 0 ? void 0 : siblingData.type) === 'custom'; },
|
|
81
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/collections/Forms/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA8B;AAE9B,oDAA8B;AAE9B,+CAA+C;AACxC,IAAM,sBAAsB,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/collections/Forms/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Config } from 'payload/config';
|
|
2
|
-
import {
|
|
2
|
+
import { PluginConfig } from './types';
|
|
3
3
|
export { getPaymentTotal } from './utilities/getPaymentTotal';
|
|
4
|
-
declare const FormBuilder: (incomingFormConfig:
|
|
4
|
+
declare const FormBuilder: (incomingFormConfig: PluginConfig) => (config: Config) => Config;
|
|
5
5
|
export default FormBuilder;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA6D;AAC7D,iEAA6E;AAE7E,2BAA2B;AAE3B,+DAA6D;AAApD,kHAAA,eAAe,OAAA;AAExB,IAAM,WAAW,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA6D;AAC7D,iEAA6E;AAE7E,2BAA2B;AAE3B,+DAA6D;AAApD,kHAAA,eAAe,OAAA;AAExB,IAAM,WAAW,GAAG,UAAC,kBAAgC,IAAK,OAAA,UAAC,MAAc;IACvE,IAAM,UAAU,yBACX,kBAAkB,KACrB,MAAM,aACJ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,IAAI,EACb,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,KAAK,IACX,kBAAkB,CAAC,MAAM,IAE/B,CAAC;IAEF,6BACK,MAAM;QACT,WAAW;QACX,qBAAqB;QACrB,mCAAmC;QACnC,wBAAwB;QACxB,iBAAiB;QACjB,kCAAkC;QAClC,iBAAiB;QACjB,0CAA0C;QAC1C,yIAAyI;QACzI,4IAA4I;QAC5I,WAAW;QACX,SAAS;QACT,OAAO;QACP,KAAK;QACL,WAAW,kCACN,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,KAAI,EAAE;YAC5B,IAAA,8BAAsB,EAAC,UAAU,CAAC;YAClC,IAAA,8CAA4B,EAAC,UAAU,CAAC;qBAE1C;AACJ,CAAC,EAxCyD,CAwCzD,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare
|
|
1
|
+
declare const _default: {};
|
|
2
2
|
export default _default;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Block, CollectionConfig, Field } from 'payload/types';
|
|
2
|
-
export
|
|
2
|
+
export type BlockConfig = {
|
|
3
3
|
block: Block;
|
|
4
4
|
validate?: (value: unknown) => boolean | string;
|
|
5
5
|
};
|
|
6
6
|
export declare function isValidBlockConfig(blockConfig: BlockConfig | string): blockConfig is BlockConfig;
|
|
7
|
-
export
|
|
7
|
+
export type FieldValues = {
|
|
8
8
|
[key: string]: string | number | boolean | null | undefined;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export type PaymentFieldConfig = Partial<Field> & {
|
|
11
11
|
paymentProcessor: Partial<SelectField>;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
14
|
-
export
|
|
13
|
+
export type FieldConfig = Partial<Field> | PaymentFieldConfig;
|
|
14
|
+
export type FieldsConfig = {
|
|
15
15
|
select?: boolean | FieldConfig;
|
|
16
16
|
text?: boolean | FieldConfig;
|
|
17
17
|
textarea?: boolean | FieldConfig;
|
|
@@ -23,9 +23,9 @@ export declare type FieldsConfig = {
|
|
|
23
23
|
message?: boolean | FieldConfig;
|
|
24
24
|
payment?: boolean | FieldConfig;
|
|
25
25
|
};
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
26
|
+
export type BeforeEmail = (emails: FormattedEmail[]) => FormattedEmail[] | Promise<FormattedEmail[]>;
|
|
27
|
+
export type HandlePayment = (data: any) => void;
|
|
28
|
+
export type PluginConfig = {
|
|
29
29
|
fields?: FieldsConfig;
|
|
30
30
|
formSubmissionOverrides?: Partial<CollectionConfig>;
|
|
31
31
|
formOverrides?: Partial<CollectionConfig>;
|
|
@@ -33,7 +33,7 @@ export declare type FormConfig = {
|
|
|
33
33
|
handlePayment?: HandlePayment;
|
|
34
34
|
redirectRelationships?: string[];
|
|
35
35
|
};
|
|
36
|
-
export
|
|
36
|
+
export type TextField = {
|
|
37
37
|
blockType: 'text';
|
|
38
38
|
blockName?: string;
|
|
39
39
|
width?: string;
|
|
@@ -42,7 +42,7 @@ export declare type TextField = {
|
|
|
42
42
|
defaultValue?: string;
|
|
43
43
|
required?: boolean;
|
|
44
44
|
};
|
|
45
|
-
export
|
|
45
|
+
export type TextAreaField = {
|
|
46
46
|
blockType: 'textarea';
|
|
47
47
|
blockName?: string;
|
|
48
48
|
width?: string;
|
|
@@ -51,11 +51,11 @@ export declare type TextAreaField = {
|
|
|
51
51
|
defaultValue?: string;
|
|
52
52
|
required?: boolean;
|
|
53
53
|
};
|
|
54
|
-
export
|
|
54
|
+
export type SelectFieldOption = {
|
|
55
55
|
label: string;
|
|
56
56
|
value: string;
|
|
57
57
|
};
|
|
58
|
-
export
|
|
58
|
+
export type SelectField = {
|
|
59
59
|
blockType: 'select';
|
|
60
60
|
blockName?: string;
|
|
61
61
|
width?: string;
|
|
@@ -65,7 +65,7 @@ export declare type SelectField = {
|
|
|
65
65
|
required?: boolean;
|
|
66
66
|
options: SelectFieldOption[];
|
|
67
67
|
};
|
|
68
|
-
export
|
|
68
|
+
export type PriceCondition = {
|
|
69
69
|
fieldToUse: string;
|
|
70
70
|
condition: 'equals' | 'notEquals' | 'hasValue';
|
|
71
71
|
valueForCondition: string;
|
|
@@ -73,7 +73,7 @@ export declare type PriceCondition = {
|
|
|
73
73
|
valueType: 'static' | 'valueOfField';
|
|
74
74
|
valueForOperator: string | number;
|
|
75
75
|
};
|
|
76
|
-
export
|
|
76
|
+
export type PaymentField = {
|
|
77
77
|
blockType: 'payment';
|
|
78
78
|
blockName?: string;
|
|
79
79
|
width?: string;
|
|
@@ -85,7 +85,7 @@ export declare type PaymentField = {
|
|
|
85
85
|
basePrice: number;
|
|
86
86
|
priceConditions: PriceCondition[];
|
|
87
87
|
};
|
|
88
|
-
export
|
|
88
|
+
export type EmailField = {
|
|
89
89
|
blockType: 'email';
|
|
90
90
|
blockName?: string;
|
|
91
91
|
width?: string;
|
|
@@ -94,7 +94,7 @@ export declare type EmailField = {
|
|
|
94
94
|
defaultValue?: string;
|
|
95
95
|
required?: boolean;
|
|
96
96
|
};
|
|
97
|
-
export
|
|
97
|
+
export type StateField = {
|
|
98
98
|
blockType: 'state';
|
|
99
99
|
blockName?: string;
|
|
100
100
|
width?: string;
|
|
@@ -103,7 +103,7 @@ export declare type StateField = {
|
|
|
103
103
|
defaultValue?: string;
|
|
104
104
|
required?: boolean;
|
|
105
105
|
};
|
|
106
|
-
export
|
|
106
|
+
export type CountryField = {
|
|
107
107
|
blockType: 'country';
|
|
108
108
|
blockName?: string;
|
|
109
109
|
width?: string;
|
|
@@ -112,7 +112,7 @@ export declare type CountryField = {
|
|
|
112
112
|
defaultValue?: string;
|
|
113
113
|
required?: boolean;
|
|
114
114
|
};
|
|
115
|
-
export
|
|
115
|
+
export type CheckboxField = {
|
|
116
116
|
blockType: 'checkbox';
|
|
117
117
|
blockName?: string;
|
|
118
118
|
width?: string;
|
|
@@ -121,13 +121,13 @@ export declare type CheckboxField = {
|
|
|
121
121
|
defaultValue?: boolean;
|
|
122
122
|
required?: boolean;
|
|
123
123
|
};
|
|
124
|
-
export
|
|
124
|
+
export type MessageField = {
|
|
125
125
|
blockType: 'message';
|
|
126
126
|
blockName?: string;
|
|
127
127
|
message: unknown;
|
|
128
128
|
};
|
|
129
|
-
export
|
|
130
|
-
export
|
|
129
|
+
export type FormFieldBlock = TextField | TextAreaField | SelectField | EmailField | StateField | CountryField | CheckboxField | MessageField | PaymentField;
|
|
130
|
+
export type Email = {
|
|
131
131
|
emailTo: string;
|
|
132
132
|
emailFrom: string;
|
|
133
133
|
emailFromName?: string;
|
|
@@ -137,14 +137,14 @@ export declare type Email = {
|
|
|
137
137
|
subject: string;
|
|
138
138
|
message?: any;
|
|
139
139
|
};
|
|
140
|
-
export
|
|
140
|
+
export type FormattedEmail = {
|
|
141
141
|
to: string;
|
|
142
142
|
from: string;
|
|
143
143
|
subject: string;
|
|
144
144
|
html: string;
|
|
145
145
|
replyTo: string;
|
|
146
146
|
};
|
|
147
|
-
export
|
|
147
|
+
export type Redirect = {
|
|
148
148
|
type: 'reference' | 'custom';
|
|
149
149
|
reference?: {
|
|
150
150
|
relationTo: string;
|
|
@@ -152,7 +152,7 @@ export declare type Redirect = {
|
|
|
152
152
|
};
|
|
153
153
|
url: string;
|
|
154
154
|
};
|
|
155
|
-
export
|
|
155
|
+
export type Form = {
|
|
156
156
|
id: string;
|
|
157
157
|
title: string;
|
|
158
158
|
fields: FormFieldBlock[];
|
|
@@ -162,11 +162,11 @@ export declare type Form = {
|
|
|
162
162
|
redirect?: Redirect;
|
|
163
163
|
emails: Email[];
|
|
164
164
|
};
|
|
165
|
-
export
|
|
165
|
+
export type SubmissionValue = {
|
|
166
166
|
field: string;
|
|
167
167
|
value: unknown;
|
|
168
168
|
};
|
|
169
|
-
export
|
|
169
|
+
export type FormSubmission = {
|
|
170
170
|
form: string | Form;
|
|
171
171
|
submissionData: SubmissionValue[];
|
|
172
172
|
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculatePaymentTotal = void 0;
|
|
4
|
+
var calculatePaymentTotal = function (args) {
|
|
5
|
+
var _a = args.basePrice, basePrice = _a === void 0 ? 0 : _a, priceConditions = args.priceConditions, fieldValues = args.fieldValues;
|
|
6
|
+
var total = basePrice;
|
|
7
|
+
if (Array.isArray(priceConditions) && priceConditions.length > 0) {
|
|
8
|
+
priceConditions.forEach(function (priceCondition) {
|
|
9
|
+
var condition = priceCondition.condition, valueForCondition = priceCondition.valueForCondition, fieldToUse = priceCondition.fieldToUse, operator = priceCondition.operator, valueType = priceCondition.valueType, valueForOperator = priceCondition.valueForOperator;
|
|
10
|
+
var valueOfField = fieldValues === null || fieldValues === void 0 ? void 0 : fieldValues[fieldToUse];
|
|
11
|
+
console.log(priceCondition);
|
|
12
|
+
if (valueOfField) {
|
|
13
|
+
if (condition === 'hasValue'
|
|
14
|
+
|| condition === 'equals' && valueOfField === valueForCondition
|
|
15
|
+
|| condition === 'notEquals' && valueOfField !== valueForCondition) {
|
|
16
|
+
var valueToUse = Number(valueType === 'valueOfField' ? valueOfField : valueForOperator);
|
|
17
|
+
console.log('valueToUse', valueToUse);
|
|
18
|
+
switch (operator) {
|
|
19
|
+
case 'add': {
|
|
20
|
+
total += valueToUse;
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
case 'subtract': {
|
|
24
|
+
total -= valueToUse;
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
case 'multiply': {
|
|
28
|
+
total *= valueToUse;
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
case 'divide': {
|
|
32
|
+
total /= valueToUse;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
default: {
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
console.log(args, total);
|
|
44
|
+
return total;
|
|
45
|
+
};
|
|
46
|
+
exports.calculatePaymentTotal = calculatePaymentTotal;
|
|
47
|
+
//# sourceMappingURL=calculatePaymentTotal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculatePaymentTotal.js","sourceRoot":"","sources":["../../src/utilities/calculatePaymentTotal.ts"],"names":[],"mappings":";;;AAEO,IAAM,qBAAqB,GAAG,UAAC,IAErC;IAEG,IAAA,KAGE,IAAI,UAHO,EAAb,SAAS,mBAAG,CAAC,KAAA,EACb,eAAe,GAEb,IAAI,gBAFS,EACf,WAAW,GACT,IAAI,YADK,CACJ;IAET,IAAI,KAAK,GAAG,SAAS,CAAC;IAEtB,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;QAChE,eAAe,CAAC,OAAO,CAAC,UAAC,cAA8B;YAEnD,IAAA,SAAS,GAMP,cAAc,UANP,EACT,iBAAiB,GAKf,cAAc,kBALC,EACjB,UAAU,GAIR,cAAc,WAJN,EACV,QAAQ,GAGN,cAAc,SAHR,EACR,SAAS,GAEP,cAAc,UAFP,EACT,gBAAgB,GACd,cAAc,iBADA,CACC;YAEnB,IAAM,YAAY,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,UAAU,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAE3B,IAAI,YAAY,EAAE;gBAChB,IACE,SAAS,KAAK,UAAU;uBACrB,SAAS,KAAK,QAAQ,IAAI,YAAY,KAAK,iBAAiB;uBAC5D,SAAS,KAAK,WAAW,IAAI,YAAY,KAAK,iBAAiB,EAClE;oBACA,IAAM,UAAU,GAAG,MAAM,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;oBAC1F,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;oBACrC,QAAQ,QAAQ,EAAE;wBAChB,KAAK,KAAK,CAAC,CAAC;4BACV,KAAK,IAAI,UAAU,CAAC;4BACpB,MAAM;yBACP;wBACD,KAAK,UAAU,CAAC,CAAC;4BACf,KAAK,IAAI,UAAU,CAAC;4BACpB,MAAM;yBACP;wBACD,KAAK,UAAU,CAAC,CAAC;4BACf,KAAK,IAAI,UAAU,CAAC;4BACpB,MAAM;yBACP;wBACD,KAAK,QAAQ,CAAC,CAAC;4BACb,KAAK,IAAI,UAAU,CAAC;4BACpB,MAAM;yBACP;wBACD,OAAO,CAAC,CAAC;4BACP,MAAM;yBACP;qBACF;iBACF;aACF;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAExB,OAAO,KAAK,CAAC;AACf,CAAC,CAAA;AA9DY,QAAA,qBAAqB,yBA8DjC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.isObject = void 0;
|
|
15
|
+
function isObject(item) {
|
|
16
|
+
return Boolean(item && typeof item === 'object' && !Array.isArray(item));
|
|
17
|
+
}
|
|
18
|
+
exports.isObject = isObject;
|
|
19
|
+
function deepMerge(target, source) {
|
|
20
|
+
var output = __assign({}, target);
|
|
21
|
+
if (isObject(target) && isObject(source)) {
|
|
22
|
+
Object.keys(source).forEach(function (key) {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
if (isObject(source[key])) {
|
|
26
|
+
if (!(key in target)) {
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
Object.assign(output, (_a = {}, _a[key] = source[key], _a));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
output[key] = deepMerge(target[key], source[key]);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
Object.assign(output, (_b = {}, _b[key] = source[key], _b));
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return output;
|
|
42
|
+
}
|
|
43
|
+
exports.default = deepMerge;
|
|
44
|
+
//# sourceMappingURL=deepMerge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../src/utilities/deepMerge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAgB,QAAQ,CAAC,IAAa;IACpC,OAAO,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAFD,4BAEC;AAED,SAAwB,SAAS,CAAO,MAAS,EAAE,MAAS;IAC1D,IAAM,MAAM,gBAAQ,MAAM,CAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;;YAC9B,aAAa;YACb,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzB,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;oBACpB,aAAa;oBACb,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAG,CAAC;iBAC/C;qBAAM;oBACL,aAAa;oBACb,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBACnD;aACF;iBAAM;gBACL,aAAa;gBACb,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAG,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,4BAqBC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
type EmailVariable = {
|
|
2
2
|
field: string;
|
|
3
3
|
value: string;
|
|
4
4
|
};
|
|
5
|
-
|
|
6
|
-
export declare const replaceDoubleCurlys: (str: string, variables?: EmailVariables
|
|
5
|
+
type EmailVariables = EmailVariable[];
|
|
6
|
+
export declare const replaceDoubleCurlys: (str: string, variables?: EmailVariables) => string;
|
|
7
7
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
type Node = {
|
|
2
2
|
bold?: boolean;
|
|
3
3
|
code?: boolean;
|
|
4
4
|
italic?: boolean;
|
|
@@ -6,5 +6,5 @@ declare type Node = {
|
|
|
6
6
|
url?: string;
|
|
7
7
|
children?: Node[];
|
|
8
8
|
};
|
|
9
|
-
export declare const serialize: (children?: Node[]
|
|
9
|
+
export declare const serialize: (children?: Node[], submissionData?: any) => string | undefined;
|
|
10
10
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/plugin-form-builder",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"homepage:": "https://payloadcms.com",
|
|
5
5
|
"repository": "git@github.com:payloadcms/plugin-form-builder.git",
|
|
6
6
|
"description": "Form builder plugin for Payload CMS",
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"author": "dev@payloadcms.com",
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"payload": "^0.18.5",
|
|
27
|
+
"payload": "^0.18.5 || ^1.0.0",
|
|
28
28
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/escape-html": "^1.0.1",
|
|
32
|
-
"payload": "^
|
|
33
|
-
"react": "^
|
|
32
|
+
"payload": "^1.3.0",
|
|
33
|
+
"react": "^18.0.0",
|
|
34
34
|
"typescript": "^4.5.5"
|
|
35
35
|
},
|
|
36
36
|
"files": [
|