Merge pull request #7535 from Budibase/reduce-onchange-event-frequency

Only fire onchange events from form fields when values change
This commit is contained in:
Martin McKeaveney 2022-09-01 13:37:01 +01:00 committed by GitHub
commit 1edf3b2082
11 changed files with 21 additions and 22 deletions

View File

@ -48,8 +48,8 @@
} }
const handleChange = e => { const handleChange = e => {
fieldApi.setValue(e.detail) const changed = fieldApi.setValue(e.detail)
if (onChange) { if (onChange && changed) {
onChange({ value: e.detail }) onChange({ value: e.detail })
} }
} }

View File

@ -28,8 +28,8 @@
} }
const handleChange = e => { const handleChange = e => {
fieldApi.setValue(e.detail) const changed = fieldApi.setValue(e.detail)
if (onChange) { if (onChange && changed) {
onChange({ value: e.detail }) onChange({ value: e.detail })
} }
} }

View File

@ -17,8 +17,8 @@
let fieldApi let fieldApi
const handleChange = e => { const handleChange = e => {
fieldApi.setValue(e.detail) const changed = fieldApi.setValue(e.detail)
if (onChange) { if (onChange && changed) {
onChange({ value: e.detail }) onChange({ value: e.detail })
} }
} }

View File

@ -268,7 +268,7 @@
// Skip if the value is the same // Skip if the value is the same
if (!skipCheck && fieldState.value === value) { if (!skipCheck && fieldState.value === value) {
return return false
} }
// Update field state // Update field state

View File

@ -37,8 +37,8 @@
const handleChange = e => { const handleChange = e => {
const value = parseValue(e.detail) const value = parseValue(e.detail)
fieldApi.setValue(value) const changed = fieldApi.setValue(value)
if (onChange) { if (onChange && changed) {
onChange({ value }) onChange({ value })
} }
} }

View File

@ -47,8 +47,8 @@
} }
const handleChange = e => { const handleChange = e => {
fieldApi.setValue(e.detail) const changed = fieldApi.setValue(e.detail)
if (onChange) { if (onChange && changed) {
onChange({ value: e.detail }) onChange({ value: e.detail })
} }
} }

View File

@ -44,8 +44,8 @@
} }
const handleChange = e => { const handleChange = e => {
fieldApi.setValue(e.detail) const changed = fieldApi.setValue(e.detail)
if (onChange) { if (onChange && changed) {
onChange({ value: e.detail }) onChange({ value: e.detail })
} }
} }

View File

@ -34,8 +34,8 @@
) )
const handleChange = e => { const handleChange = e => {
fieldApi.setValue(e.detail) const changed = fieldApi.setValue(e.detail)
if (onChange) { if (onChange && changed) {
onChange({ value: e.detail }) onChange({ value: e.detail })
} }
} }

View File

@ -84,8 +84,8 @@
} }
const handleChange = value => { const handleChange = value => {
fieldApi.setValue(value) const changed = fieldApi.setValue(value)
if (onChange) { if (onChange && changed) {
onChange({ value }) onChange({ value })
} }
} }

View File

@ -90,8 +90,8 @@
} }
const handleChange = e => { const handleChange = e => {
fieldApi.setValue(e.detail) const changed = fieldApi.setValue(e.detail)
if (onChange) { if (onChange && changed) {
onChange({ value: e.detail }) onChange({ value: e.detail })
} }
} }

View File

@ -16,8 +16,8 @@
let fieldApi let fieldApi
const handleChange = e => { const handleChange = e => {
fieldApi.setValue(e.detail) const changed = fieldApi.setValue(e.detail)
if (onChange) { if (onChange && changed) {
onChange({ value: e.detail }) onChange({ value: e.detail })
} }
} }
@ -29,7 +29,6 @@
{disabled} {disabled}
{validation} {validation}
{defaultValue} {defaultValue}
{onChange}
type={type === "number" ? "number" : "string"} type={type === "number" ? "number" : "string"}
bind:fieldState bind:fieldState
bind:fieldApi bind:fieldApi