|
|
|
import { Controller } from "@hotwired/stimulus"
|
|
|
|
|
|
|
|
export default class extends Controller {
|
|
|
|
static targets = [ "override" ]
|
|
|
|
|
|
|
|
initialize() {
|
|
|
|
let url = window.location.href + "/soft_validations"
|
|
|
|
this.fetch_retry(url, { headers: { accept: "application/json" } }, 5)
|
|
|
|
}
|
|
|
|
|
|
|
|
fetch_retry(url, options, n) {
|
|
|
|
let self = this
|
|
|
|
let div = this.overrideTarget
|
|
|
|
fetch(url, options)
|
|
|
|
.then(response => response.json())
|
|
|
|
.then((response) => {
|
|
|
|
if(response["show"]){
|
|
|
|
div.style.display = "block"
|
|
|
|
let innerHTML = div.innerHTML
|
|
|
|
innerHTML = innerHTML.replace("soft-validations-placeholder-message", response["label"])
|
|
|
|
innerHTML = innerHTML.replace("soft-validations-placeholder-hint-text", response["hint"])
|
|
|
|
div.innerHTML = innerHTML
|
|
|
|
} else {
|
|
|
|
div.style.display = "none"
|
|
|
|
let buttons = document.getElementsByName(`case_log[override_net_income_validation][]`)
|
|
|
|
Object.entries(buttons).map(([idx, button]) => {
|
|
|
|
button.checked = false
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.catch(function(error) {
|
|
|
|
if (n === 1) throw error
|
|
|
|
return self.fetch_retry(url, options, n - 1)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|