Есть иерархическая структура полей (`select,input`), c возможностью для пользователя объединения и вложения их друг в друга. Иначе говоря дерево логических выражений, где каждая вершина-значение - это несколько форм ввода.
Дерево строится пользователем и так как его необходимо сохранять в некую структуру и восстанавливать обратно (строить HTML) из неё. То посоветовали использовать JSON + какую-либо JS-библиотеку, чтобы уйти от изменений кода в случае незначительных изменений формы.
HTML выглядит следующим образом (для примера удалены лишнее элементы типа кнопок):
<div class="conditions-group logical-or">
<div class="conditions">
<div class="conditions-group logical-and">
<div class="conditions">
<div class="condition row">
<div class="metric">
<select class="form-control"></select>
</div>
<div class="operator">
<select class="form-control "></select>
</div>
<div class="value">
<input value="" class="form-control">
</div>
</div>
<div class="condition row">
<div class="metric">
<select class="form-control"></select>
</div>
<div class="operator">
<select class="form-control "></select>
</div>
<div class="value">
<input value="" class="form-control">
</div>
</div>
</div>
<div class="condition row">
<div class="metric">
<select class="form-control"></select>
</div>
<div class="operator">
<select class="form-control "></select>
</div>
<div class="value">
<input value="" class="form-control">
</div>
</div>
</div>
</div>
</div>
Прошу помочь: Что поможете посоветовать для реализации такого типа задачи? Если JS-библиотека, то какая?
Заранее большое спасибо.