Files
tripwithbonus/static/v2/js/widgets/w_radio_inputs.js
2025-01-15 18:40:11 +03:00

44 lines
1.2 KiB
JavaScript

function chooseRadioInput(el, callback){
if (!el) return;
let $parent = el.closest('.w_radio_inputs');
if (!$parent) return;
let $radios = $parent.querySelectorAll('.radio');
$radios.forEach(radio => {
radio.classList.remove('checked')
})
$parent = el.closest('.cw_w_radio_inputs_radio_input');
let $radio = $parent.querySelector('.radio');
$radio.classList.toggle("checked");
let el_name = $parent.dataset.name;
resetFieldError(el);
if (callback) callback(el, el_name)
}
function generateRadioInput(data){
let html = `
<div class="cw_w_radio_inputs_radio_input" data-name="${data.name}">
<div class="radio" onclick="chooseRadioInput(this, ${data.callback})"></div>
<div class="radio_label" onclick="chooseRadioInput(this, ${data.callback})">${data.title}</div>
</div>
`
return html;
}
function resetWRadioInputs(widget_name){
let $widget = getWRadioInputsWidget(widget_name);
if (!$widget) return;
$widget.innerHTML = '';
}
function getWRadioInputsWidget(widget_name){
if (!widget_name) return;
let $widget = $(`.field_container[data-type="radio"][data-name="${widget_name}"] .w_radio_inputs`)[0];
return $widget;
}