52 lines
1.4 KiB
JavaScript
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
|