Browse Source

Only fire onchange events from form fields when values change to a new valid value

pull/7535/head
Andrew Kingston 4 years ago
parent
commit
14ab4c64ce
  1. 4
      packages/client/src/components/app/forms/AttachmentField.svelte
  2. 4
      packages/client/src/components/app/forms/BooleanField.svelte
  3. 4
      packages/client/src/components/app/forms/DateTimeField.svelte
  4. 2
      packages/client/src/components/app/forms/InnerForm.svelte
  5. 4
      packages/client/src/components/app/forms/JSONField.svelte
  6. 4
      packages/client/src/components/app/forms/LongFormField.svelte
  7. 4
      packages/client/src/components/app/forms/MultiFieldSelect.svelte
  8. 4
      packages/client/src/components/app/forms/OptionsField.svelte
  9. 4
      packages/client/src/components/app/forms/RelationshipField.svelte
  10. 4
      packages/client/src/components/app/forms/S3Upload.svelte
  11. 5
      packages/client/src/components/app/forms/StringField.svelte

4
packages/client/src/components/app/forms/AttachmentField.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 })
}
}

4
packages/client/src/components/app/forms/BooleanField.svelte

@ -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 })
}
}

4
packages/client/src/components/app/forms/DateTimeField.svelte

@ -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 })
}
}

2
packages/client/src/components/app/forms/InnerForm.svelte

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

4
packages/client/src/components/app/forms/JSONField.svelte

@ -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 })
}
}

4
packages/client/src/components/app/forms/LongFormField.svelte

@ -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 })
}
}

4
packages/client/src/components/app/forms/MultiFieldSelect.svelte

@ -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 })
}
}

4
packages/client/src/components/app/forms/OptionsField.svelte

@ -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 })
}
}

4
packages/client/src/components/app/forms/RelationshipField.svelte

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

4
packages/client/src/components/app/forms/S3Upload.svelte

@ -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 })
}
}

5
packages/client/src/components/app/forms/StringField.svelte

@ -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

Loading…
Cancel
Save