Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Компонент иерархической фильтрации данных (https://javascript.ru/forum/project/51485-komponent-ierarkhicheskojj-filtracii-dannykh.html)

yriiarutiunian 08.11.2014 15:20

Компонент иерархической фильтрации данных
 
Компонент иерархической фильтрации данных.

Всем привет! В свое время передо мной была поставлена задача реализовать логику данного компонента:

Есть некоторое XML описание блока внутри которого могут быть виджеты и другие вложенные блоки. Вложенность бесконечная.

Виджеты и блоки могут иметь фильтры.

Фильтрация в общем случае происходит по некоторым абстрактным ключам параметров.

Фильтры находящиеся по иерархии ниже перекрывают действия фильтров находящихся выше по иерархии.

Как только фильтр в блоке или виджете был снят полностью он открывает возможное действие для фильтра более высокого уровня.

Умерло много котиков, когда я не смог найти хоть какого - либо готового решения.

Пришлось писать самому. Хочу поделиться исходниками представленными в каноническом виде. Данный компонент лишь дает информацию что и по каким ключам нужно обновить согласно описанной иерархии. Сама визуализации блока, виджетов могут реализовываться естественно сторонними фреймворками. А также методы получения данных в виджеты должны быть реализованы через отдельные модули, что естественно я еще буду расширять.

Исходный код:
https://github.com/yriiarutiunian/cif

Спасибо


Часовой пояс GMT +3, время: 15:46.