{"version":3,"file":"calculators.js","names":["sendData","formData","reduced_dietary","severity_ill","jQuery","click","e","showOverlay","preventDefault","length","show","hideOverlay","hide","map","name","value","get","URL","href","done","data","sanitizedData","DOMPurify","sanitize","html","wizard","returnData","steps","labels","cancel","Drupal","t","current","pagination","finish","next","previous","loading","onInit","event","currentIndex","addClass","refreshCalcProgressBar","initOnsTooltip","onStepChanged","priorIndex","removeClass","find","val","onStepChanging","newIndex","prepareForms","onFinishing","onFinished","finalIndex","post","url","globalUrl","initOnsTabs","each","ajaxSetup","async","title","text","loadForm","attr","content","change","ready","remove","blur","bmiRange","bmi","height","Number","replace","weight","Math","pow","toFixed","Intl","NumberFormat","drupalSettings","path","currentLanguage","format","document","on","unlockScroll","always","setTimeout","lockScroll","css","$form","formId","action","values","serialize","validator","setDefaults","debug","formValidate","validate","rules","patient_height","required","min","max","patient_weight","patient_weight_past","errorPlacement","error","element","parents","valid","form","is","dataStore","getData","patient_age","patient_data","formDataId","mna","indexMalnutrition","params","age","contentMode","contentUrl","param","scrollTop","actual","total","progressBar","width"],"sources":["../../../_src/js/v1/calculators.js"],"sourcesContent":["// Calculators\nvar sendData = \"\";\nvar formData = \"\";\nvar reduced_dietary = \"\";\nvar severity_ill = \"\";\njQuery(\"#startCalculators\").click(function (e) {\n  showOverlay();\n  e.preventDefault();\n  if (\n    jQuery(\"form#calculators_types input[type=checkbox]:not(:checked)\")\n      .length == jQuery(\"form#calculators_types input[type=checkbox]\").length\n  ) {\n    jQuery(\".ons__calculator__header .error\").show();\n    hideOverlay();\n    return false;\n  }\n\n  jQuery(\".ons__calculator__header .error\").hide();\n  sendData = jQuery(\n    \"form#calculators_types input[type=checkbox]:not(:checked)\"\n  )\n    .map(function () {\n      return {\n        name: this.name,\n        value: this.value,\n      };\n    })\n    .get();\n  jQuery.get(new URL(this.href), sendData).done(function (data) {\n    var sanitizedData = DOMPurify.sanitize(data);\n    jQuery(\"#calculatorsTest\").html(sanitizedData);\n//    jQuery(\"#calculatorsTest\").html(data);\n    var wizard = \"\";\n    var returnData = {};\n\n    wizard = jQuery(\".modal-calculators__content\").steps({\n      labels: {\n        cancel: Drupal.t(\"Cancel\"),\n        current: Drupal.t(\"current step:\"),\n        pagination: Drupal.t(\"Pagination\"),\n        finish: Drupal.t(\"Finish\"),\n        next: Drupal.t(\"Next\"),\n        previous: Drupal.t(\"Previous\"),\n        loading: Drupal.t(\"Loading ...\")\n      },\n      onInit: function (event, currentIndex) {\n        jQuery(\".calculator-breadcrumb li:eq(\" + currentIndex + \")\").addClass(\n          \"active\"\n        );\n        refreshCalcProgressBar(\n          currentIndex + 1,\n          jQuery(\".calculator-breadcrumb li\").length\n        );\n        initOnsTooltip();\n      },\n      onStepChanged: function (event, currentIndex, priorIndex) {\n        refreshCalcProgressBar(\n          currentIndex + 1,\n          jQuery(\".calculator-breadcrumb li\").length\n        );\n        jQuery(\".calculator-breadcrumb li\").removeClass(\"active\");\n        jQuery(\".calculator-breadcrumb li:eq(\" + currentIndex + \")\").addClass(\n          \"active\"\n        );\n        if (\n          jQuery(\"#patient_data\").find(\"select[name=patient_age]\").val() >=\n          65 &&\n          priorIndex == 0\n        ) {\n          wizard.steps(\"next\");\n        }\n        initOnsTooltip();\n      },\n      onStepChanging: function (e, currentIndex, newIndex) {\n        if (currentIndex < newIndex) {\n          return prepareForms(currentIndex, newIndex, returnData, wizard, jQuery(\".modal-calculators__content form:visible\"));\n        }\n        return true;\n      },\n      onFinishing: function (event, currentIndex) {\n        return prepareForms(currentIndex, 0, returnData, wizard, jQuery(\".modal-calculators__content form:visible\"));\n      },\n\n      onFinished: function (event, currentIndex) {\n        initOnsTooltip();\n        jQuery(\".calculator-breadcrumb li\").removeClass(\"active\");\n        var finalIndex = currentIndex + 1;\n        refreshCalcProgressBar(\n          finalIndex + 1,\n          jQuery(\".calculator-breadcrumb li\").length\n        );\n        jQuery(\".calculator-breadcrumb li:eq(\" + finalIndex + \")\").addClass(\n          \"active\"\n        );\n        jQuery\n          .post(new URL(Drupal.url(\"ons_product_selector/calc/results\"), globalUrl), returnData)\n          .done(function (data) {\n            jQuery(\".modal-calculators__content\").html(data);\n            initOnsTooltip();\n            initOnsTabs();\n          });\n      },\n    });\n\n    jQuery(\".calculator-breadcrumb li\").each(function () {\n      jQuery.ajaxSetup({\n        async: false,\n      });\n      var title = jQuery(this).text();\n      var loadForm =\n        new URL(Drupal.url(\"ons_product_selector/calc/\" + jQuery(this).attr(\"data-id\")), globalUrl);\n      jQuery.get(loadForm).done(function (data) {\n        wizard.steps(\"add\", {\n          title: title,\n          content: data,\n        });\n      });\n    });\n    wizard.steps(\"remove\", jQuery(\".calculator-breadcrumb li\").length - 1);\n\n    jQuery(\"#patient_data select#patient-age\").change(function () {\n      if (jQuery(this).val() >= 65) {\n        jQuery(\".toogle-type--cc\").show();\n      } else {\n        jQuery(\".toogle-type--cc\").hide();\n      }\n    });\n\n    jQuery(\".calculator--patientData\").ready(function() {\n      if(0 === jQuery(\".calculator-breadcrumb\").find('[data-id=\"malnutrition\"]').length) {\n        jQuery('#illnessCombo').remove();\n      }\n    });\n\n    jQuery(\"#patient_data input\").blur(function (e) {\n      function bmiRange(bmi) {\n        if (bmi < 18.5) return \"Underweight\";\n        if (bmi >= 18.5 && bmi < 25) return \"Normal range\";\n        if (bmi >= 25 && bmi <= 30) return \"Overweight\";\n        if (bmi > 30) return \"Obese\";\n      }\n\n      var height = Number(jQuery(\"#patient-height\").val().replace(',', '.'));\n      var weight = Number(jQuery(\"#patient-weight\").val().replace(',', '.'));\n      if (weight != \"\" && height != \"\") {\n        var bmi = weight / Math.pow(height / 100, 2);\n        var bmiRange = bmiRange(bmi);\n        bmi = bmi.toFixed(1);\n        // console.log(Drupal);\n        bmi = new Intl.NumberFormat(drupalSettings.path.currentLanguage).format(bmi);\n        jQuery(\".text--result\").text(bmi);\n      }\n    });\n\n\n\n    jQuery(document).on(\n      \"click\",\n      \".calculator--result__btnBack\",\n      function (e) {\n        e.preventDefault();\n        unlockScroll();\n        jQuery(\".modal-calculators\").removeClass(\"active\");\n      }\n    );\n\n    jQuery(\".modal-calculators--btn-close\").click(function (e) {\n      e.preventDefault();\n      unlockScroll();\n      jQuery(\".modal-calculators\").removeClass(\"active\");\n    });\n  }).always(function() {\n    setTimeout(function () {\n      jQuery(\".modal-calculators\").addClass(\"active\");\n      lockScroll();\n      //hideOverlay();\n      jQuery(\"#overlay\").css('display', 'none');\n    }, 400);\n  });\n\n});\n\n\nfunction prepareForms(currentIndex, newIndex, returnData, wizard, $form) {\n  // if (jQuery('#nrs2002').is(':visible')) {\n  //   var $form = jQuery(\"form#nrs2002\");\n\n  // } else if(jQuery('form#pre-nrs2002').is(':visible')) {\n  //   var $form = jQuery('#pre-nrs2002');\n  // } else {\n  //   var $form = jQuery('.modal-calculators__content form:eq('+currentIndex+')');\n\n  // }\n  // console.log(currentIndex);\n  // console.log(newIndex);\n  var formId = $form.attr(\"id\");\n  var action = $form.attr(\"action\");\n  var values = $form.serialize();\n\n  //console.log(formId);\n  initOnsTooltip();\n  switch (formId) {\n    case \"patient_data\":\n      jQuery.validator.setDefaults({\n        debug: true,\n      });\n\n      var formValidate = jQuery(\"#patient_data\").validate({\n        rules: {\n          patient_height: {\n            required: true,\n            min: 135,\n            max: 215,\n          },\n          patient_weight: {\n            required: true,\n            min: 25,\n            max: 110,\n          },\n          patient_weight_past: {\n            min: 25,\n            max: 110,\n          },\n        },\n        errorPlacement: function (error, element) {\n          jQuery(element)\n            .parents(\".calculator__form-group\")\n            .addClass(\"error\");\n          return true;\n        },\n      });\n      if (!$form.valid()) return false;\n      else break;\n    case \"patient_location\":\n      if (\n        jQuery(\"#patient_data\").find(\"select[name=patient_age]\").val() < 65\n      ) {\n        var formValidate = jQuery(\"#patient_location\").validate({\n          errorPlacement: function (error, element) {\n            jQuery(element)\n              .parents(\".calculator__form-group\")\n              .addClass(\"error\");\n            return true;\n          },\n        });\n        if (!formValidate.form()) return false;\n        else break;\n      }\n      break;\n    case \"eat_10\":\n      var formValidate = jQuery(\"#eat_10\").validate({\n        errorPlacement: function (error, element) {\n          jQuery(element)\n            .parents(\".calculator__form-group\")\n            .addClass(\"error\");\n          return true;\n        },\n      });\n      if (!formValidate.form()) return false;\n      else break;\n    case \"must\":\n      var formValidate = jQuery(\"#must\").validate({\n        errorPlacement: function (error, element) {\n          jQuery(element)\n            .parents(\".calculator__form-group\")\n            .addClass(\"error\");\n          return true;\n        },\n      });\n      if (!formValidate.form()) return false;\n      else break;\n    case \"pre-nrs2002\":\n      if (jQuery('#pre-nrs2002').is(':visible')) {\n\n        var formValidate = jQuery('#pre-nrs2002').validate({\n          errorPlacement: function (error, element) {\n            jQuery(element)\n              .parents(\".calculator__form-group\")\n              .addClass(\"error\");\n            return true;\n          }\n        });\n        if (!formValidate.form()) return false;\n\n        reduced_dietary = jQuery('input[name=reduced_dietary]:checked').val();\n        severity_ill = jQuery('input[name=severity_ill]:checked').val();\n\n        if (reduced_dietary != 0 || severity_ill != 0) {\n          jQuery('#nrs2002').show();\n          jQuery('#pre-nrs2002').hide();\n          return false;\n        }\n      }\n      var formValidate = jQuery(\"#nrs2002\").validate({\n        errorPlacement: function (error, element) {\n          jQuery(element)\n            .parents(\".calculator__form-group\")\n            .addClass(\"error\");\n          return true;\n        },\n      });\n      if (!formValidate.form()) return false;\n      else break;\n    case \"nrs2002\":\n      var formValidate = jQuery(\"#nrs2002\").validate({\n        errorPlacement: function (error, element) {\n          jQuery(element)\n            .parents(\".calculator__form-group\")\n            .addClass(\"error\");\n          return true;\n        },\n      });\n      if (!formValidate.form()) return false;\n      else break;\n    case \"nutritional_needs\":\n      var formValidate = jQuery(\"#nutritional_needs\").validate({\n        errorPlacement: function (error, element) {\n          jQuery(element)\n            .parents(\".calculator__form-group\")\n            .addClass(\"error\");\n          return true;\n        },\n      });\n      if (!formValidate.form()) return false;\n      else break;\n  }\n\n  var dataStore = (function () {\n    jQuery.post(new URL(action, globalUrl), values).done(function (data) {\n      // console.log(action);\n      // console.log(values);\n      formData = data;\n    });\n    return {\n      getData: function () {\n        if (formData) return formData;\n      },\n    };\n  })();\n  returnData[formId] = dataStore.getData();\n  var patient_age = returnData.patient_data.patient_age;\n  var formDataId = jQuery(\n    \".calculator-breadcrumb li:eq(\" + newIndex + \")\"\n  ).attr(\"data-id\");\n\n  if (\n    (formDataId == \"malnutrition\" && typeof returnData.mna == \"undefined\") ||\n    (formDataId == \"patient_location\" && patient_age >= 65)\n  ) {\n    jQuery\n      .get(new URL(Drupal.url(\"ons_product_selector/calc/malnutrition\"), globalUrl), returnData)\n      .done(function (data) {\n        var indexMalnutrition = newIndex;\n        if (formDataId == \"patient_location\" && patient_age >= 65) {\n          indexMalnutrition = newIndex + 1;\n        }\n        wizard.steps(\"remove\", indexMalnutrition);\n        wizard.steps(\"insert\", indexMalnutrition, {\n          content: data,\n          title: jQuery(\n            \".calculator-breadcrumb li:eq(\" + indexMalnutrition + \")\"\n          ).text(),\n        });\n      });\n  }\n  if (\n    jQuery(\".calculator-breadcrumb li:eq(\" + newIndex + \")\").attr(\n      \"data-id\"\n    ) == \"calculate_nutritional_needs\"\n  ) {\n    var params = {\n      age: returnData.patient_data.patient_age,\n      weight: returnData.patient_data.patient_weight,\n      height: returnData.patient_data.patient_height,\n    };\n    wizard.steps(\"remove\", newIndex);\n    wizard.steps(\"insert\", newIndex, {\n      title: jQuery(\".calculator-breadcrumb li:eq(\" + newIndex + \")\").text(),\n      contentMode: \"async\",\n      contentUrl:\n        new URL(Drupal.url(\"ons_product_selector/calc/calculate_nutritional_needs?\" +\n        jQuery.param(params)), globalUrl),\n    });\n  }\n  jQuery(\".modal-calculators\").scrollTop(0);\n  return true;\n}\n\nfunction refreshCalcProgressBar(actual, total) {\n  var progressBar = (actual / total) * 100;\n  jQuery(\".progress-bar span\").width(progressBar + \"%\");\n}\n"],"mappings":"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","ignoreList":[]}