init-fields.js 976 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import { contractData } from "../../data/contract-data.js"
  2. import initFilenameField from "./init-filename-field.js"
  3. export default function initFields() {
  4. // init names and emails
  5. initField("client_name", contractData.client.name)
  6. initField("client_email", contractData.client.email)
  7. initField("dev_name", contractData.dev.name)
  8. initField("dev_email", contractData.dev.email)
  9. // init file name
  10. initFilenameField()
  11. }
  12. function initField(fieldName, fieldValue) {
  13. if (!localStorage.getItem(fieldName)) {
  14. localStorage.setItem(fieldName, fieldValue)
  15. }
  16. const val = localStorage.getItem(fieldName)
  17. const el = document.querySelector("#" + fieldName)
  18. // if (!el) return
  19. handleDom(el, fieldName, val)
  20. }
  21. // set field value and event listener
  22. const handleDom = (el, itemName, val) => {
  23. el.value = val
  24. el.addEventListener("change", (e) => {
  25. localStorage.setItem(itemName, e.target.value)
  26. })
  27. }