Browse Source
Merge pull request #7535 from Budibase/reduce-onchange-event-frequency
Only fire onchange events from form fields when values change
pull/7591/head
Martin McKeaveney
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with
21 additions and
22 deletions
-
packages/client/src/components/app/forms/AttachmentField.svelte
-
packages/client/src/components/app/forms/BooleanField.svelte
-
packages/client/src/components/app/forms/DateTimeField.svelte
-
packages/client/src/components/app/forms/InnerForm.svelte
-
packages/client/src/components/app/forms/JSONField.svelte
-
packages/client/src/components/app/forms/LongFormField.svelte
-
packages/client/src/components/app/forms/MultiFieldSelect.svelte
-
packages/client/src/components/app/forms/OptionsField.svelte
-
packages/client/src/components/app/forms/RelationshipField.svelte
-
packages/client/src/components/app/forms/S3Upload.svelte
-
packages/client/src/components/app/forms/StringField.svelte
|
|
|
@ -48,8 +48,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
fieldApi.setValue(e.detail) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(e.detail) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value: e.detail }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -28,8 +28,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
fieldApi.setValue(e.detail) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(e.detail) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value: e.detail }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -17,8 +17,8 @@ |
|
|
|
let fieldApi |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
fieldApi.setValue(e.detail) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(e.detail) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value: e.detail }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -268,7 +268,7 @@ |
|
|
|
|
|
|
|
// Skip if the value is the same |
|
|
|
if (!skipCheck && fieldState.value === value) { |
|
|
|
return |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
// Update field state |
|
|
|
|
|
|
|
@ -37,8 +37,8 @@ |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
const value = parseValue(e.detail) |
|
|
|
fieldApi.setValue(value) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(value) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -47,8 +47,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
fieldApi.setValue(e.detail) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(e.detail) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value: e.detail }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -44,8 +44,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
fieldApi.setValue(e.detail) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(e.detail) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value: e.detail }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -34,8 +34,8 @@ |
|
|
|
) |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
fieldApi.setValue(e.detail) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(e.detail) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value: e.detail }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -84,8 +84,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
const handleChange = value => { |
|
|
|
fieldApi.setValue(value) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(value) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -90,8 +90,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
fieldApi.setValue(e.detail) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(e.detail) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value: e.detail }) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -16,8 +16,8 @@ |
|
|
|
let fieldApi |
|
|
|
|
|
|
|
const handleChange = e => { |
|
|
|
fieldApi.setValue(e.detail) |
|
|
|
if (onChange) { |
|
|
|
const changed = fieldApi.setValue(e.detail) |
|
|
|
if (onChange && changed) { |
|
|
|
onChange({ value: e.detail }) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -29,7 +29,6 @@ |
|
|
|
{disabled} |
|
|
|
{validation} |
|
|
|
{defaultValue} |
|
|
|
{onChange} |
|
|
|
type={type === "number" ? "number" : "string"} |
|
|
|
bind:fieldState |
|
|
|
bind:fieldApi |
|
|
|
|