но мне кажется немного странным тот факт, что используя (JQuery, Bootstrap)
А что здесь странного? Ни в jquery, ни в bootstrap нет готовых решений для построения графиков.
Отсюда вывод — либо вы сами будете рисовать эти линии в svg/canvas, либо сэкономите время, воспользовавшись специализированной библиотекой.
пропишите задизабленным инпутам pointer-events:none (не уверен в этой необходимости).
на обертку вешайтесь онкликом. по клику снимайте дизаблед и ставьте фокус.
let filteredArr = data.filter(n => {
let items = n.items.filter(n => n.checked);
// .map(m => ({ ...m })) — это выкинуть, filter и так создаст новый массив
if (!items.length) return false; // если ни один не чекнут, то вообще убираем из выдачи
return {
guid: n.guid,
items,
}
});
Срочно нужно найти плагин...