Files
Ekapp/swagger/src/standalone/topbar-insert/forms/form-objects/contact-object.js
T
2020-06-10 08:25:21 +02:00

54 lines
1.3 KiB
JavaScript

import { fromJS } from "immutable"
import { validateUrl } from "../helpers/validation-helpers"
export const contactForm = (updateForm, path) =>
fromJS({
value: {
name: {
name: "Name",
value: "",
updateForm: newForm => updateForm(newForm, path.concat(["value", "name"]))
},
url: {
name: "URL",
value: "",
updateForm: newForm => updateForm(newForm, path.concat(["value", "url"])),
isValid: value => validateUrl(value),
validationMessage: "Please enter a valid URL."
},
email: {
name: "Email",
value: "",
updateForm: newForm => updateForm(newForm, path.concat(["value", "email"]))
}
},
name: "Contact",
description: "The contact information for the exposed API.",
updateForm: newForm => updateForm(newForm, path)
})
export const contactObject = (formData) => {
const name = formData.getIn(["value", "name", "value"])
const url = formData.getIn(["value", "url", "value"])
const email = formData.getIn(["value", "email", "value"])
const contact = {}
if (!name && !url && !email) {
return null
}
if (email) {
contact.email = email
}
if (name) {
contact.name = name
}
if (url) {
contact.url = url
}
return contact
}