import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  connect() {
    const affectedField = this.element.dataset.target;
    const targetQuestion = affectedField.split("case-log-")[1].split("-field")[0]
    const div = document.getElementById(targetQuestion + "_div");
    div.style.display = "block";
  }

  calculateFields() {
    const affectedField = this.element.dataset.target;
    const fieldsToAdd = JSON.parse(this.element.dataset.calculated).map(x => `case-log-${x.replaceAll("_","-")}-field`);
    const valuesToAdd = fieldsToAdd.map(x => getFieldValue(x)).filter(x => x);
    const newValue =  valuesToAdd.map(x => parseFloat(x)).reduce((a, b) => a + b, 0).toFixed(2);
    const elementToUpdate = document.getElementById(affectedField);
    elementToUpdate.value = newValue;
  }
  }
  let getFieldValue = (field) => {
    const elementFieldToAdd= document.getElementById(field)
    if (elementFieldToAdd) {
      return elementFieldToAdd.value
    }
     return document.getElementById(`${field}-error`).value
}