mcServerWebsite/assets/controllers/mod_optional_controller.js
Ploush 303fc7bcb5 ajout trop de chose
rappel pour moi : a ne plus reproduire
2026-04-09 14:58:12 +02:00

26 lines
744 B
JavaScript

import { Controller } from '@hotwired/stimulus';
export default class extends Controller {
static targets = ['row'];
connect() {
this.rowTargets.forEach(row => this.#syncRow(row));
}
toggle(event) {
this.#syncRow(event.target.closest('[data-mod-optional-target="row"]'));
}
#syncRow(row) {
const modCheckbox = row.querySelector('[data-mod-checkbox]');
const toggle = row.querySelector('[data-opt-toggle]');
const uiOpt = row.querySelector('[data-ui-opt]');
if (!modCheckbox || !toggle) return;
const checked = modCheckbox.checked;
toggle.classList.toggle('d-none', !checked);
if (!checked && uiOpt) uiOpt.checked = false;
}
}