Angular приложение , которое демонстрирует взаимодействие директив, сервисов и компонентов
все директивы (3 штуки) в папке src/app/directives
все сервисы (1 штука) в папке src/app/services
краткое описание директив
- CheckGroupDirective - вешается на элемент в DOM дереве и объявляет группу для чекаемых айтемов, создаёт экземпляр сервиса CheckGroupService. Имеет @Output() groupCheckEvent, он выбрасывает эвент каждый раз когда кто-то в группе чекается или анчекается, выбрасывает массив всех айтемов в группе
- CheckGroupItemDirective - вешается на чекбокс айтема, должен использоваться внутри CheckGroupDirective в DOM дереве, через @Input() checkableItem передаётся сам айтем
- CheckGroupTogglerDirective - вешается на чекбокс, который управляет состоянием всей группы, тоже должен находиться внутри CheckGroupDirective в DOM дереве.
сервис CheckGroupService связывает эти директивы между собой