suivi/assets/js/modules/establishment-groups-choices.js

52 lines
1.4 KiB
JavaScript

const $ = require("jquery")
const Choices = require("choices.js")
class EstablishmentGroupsChoices {
constructor() {
this.setEstablishmentGroupsChoices()
}
setEstablishmentGroupsChoices() {
if ($("#intervention_establishmentGroup").length) {
let intervention_establishment = document.getElementById(
"intervention_establishment",
)
let intervention_establishmentChoices = new Choices(
intervention_establishment,
{
searchFields: ["label"],
searchResultLimit: 30,
},
)
let establishmentGroupsChoices = this
this.updateEstablishmentGroup()
intervention_establishment.addEventListener(
"hideDropdown",
function (event) {
establishmentGroupsChoices.updateEstablishmentGroup()
},
)
}
}
updateEstablishmentGroup() {
$("#intervention_establishmentGroup option").each(function (i, elm) {
if (
parseInt($(elm).data("establishment")) ===
parseInt($("#intervention_establishment").val())
) {
$(elm).prop("disabled", false)
$(elm).show()
} else {
$(elm).prop("disabled", true)
$(elm).hide()
}
if ($(elm).is(":selected") && $(elm).is(":disabled")) {
$(elm).prop("selected", false)
}
})
}
}
module.exports = EstablishmentGroupsChoices