@colisweb/rescript-toolkit 5.16.0 → 5.16.2

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/form/Reform.res +23 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colisweb/rescript-toolkit",
3
- "version": "5.16.0",
3
+ "version": "5.16.2",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "clean": "rescript clean",
@@ -157,7 +157,9 @@ module Make = (Config: Config) => {
157
157
  ?className
158
158
  onSubmit={event => {
159
159
  ReactEvent.Synthetic.preventDefault(event)
160
- form.submit()
160
+ if !form.isSubmitting {
161
+ form.submit()
162
+ }
161
163
  }}>
162
164
  children
163
165
  <Toolkit__Ui_VisuallyHidden>
@@ -195,25 +197,27 @@ module Make = (Config: Config) => {
195
197
  (state, action) => {
196
198
  switch action {
197
199
  | Submit =>
198
- UpdateWithSideEffects(
199
- {...state, formState: Submitting},
200
- self => {
201
- onSubmit({
202
- send: self.send,
203
- state: self.state,
204
- raiseSubmitFailed: error => self.send(RaiseSubmitFailed(error)),
205
- })
206
- ->Promise.tap(x =>
207
- switch x {
208
- | Ok(_) => self.send(SetFormState(SubmitSucceed))
209
- | Error(error) => self.send(SetFormState(SubmitFailed(Some(error))))
210
- }
200
+ state.formState == Submitting
201
+ ? NoUpdate
202
+ : UpdateWithSideEffects(
203
+ {...state, formState: Submitting},
204
+ self => {
205
+ onSubmit({
206
+ send: self.send,
207
+ state: self.state,
208
+ raiseSubmitFailed: error => self.send(RaiseSubmitFailed(error)),
209
+ })
210
+ ->Promise.tap(x =>
211
+ switch x {
212
+ | Ok(_) => self.send(SetFormState(SubmitSucceed))
213
+ | Error(error) => self.send(SetFormState(SubmitFailed(Some(error))))
214
+ }
215
+ )
216
+ ->ignore
217
+
218
+ None
219
+ },
211
220
  )
212
- ->ignore
213
-
214
- None
215
- },
216
- )
217
221
  | TrySubmit =>
218
222
  SideEffects(
219
223
  self => {