все на rxjsреализуем канбан доску, с обновлением по сокетамЕсть менеджер состояний. В упрощенном варианте все базируется на трех сущностяхfunnel - воронкаstage - этапdeal - сделкаРассмотрим 2 структуры (псевдо разметка). И в качестве примера задача: меняется значение color у сущности stage, информация об этом пришла по сокетам1 вариант структурыfunnel$: Observable<T> = { name: T, ..., stages: T[] [{ name: T, color: T, ..., deals: T[] [{ name: T, ... }] }}в случае изменения цвета, находим stage по id, изменяем значение color, затем $
funnel.next($funnel.value)данные на клиенте обновились.2 вариант funnel$: Observable<T> = { name$: Observable<T>, ..., stages$: Observable<T[]> [{ name$: Observable<T>, color$: Observable<T>, ..., deals$: Observable<T[]> [{ name$: Observable<>, ... }] }}в случае изменения цвета, находим stage по id, изменяем значение color, затем $funnel.value.stages$.value[index].value.$
color.next(color);данные на клиенте тоже обновилисьВопросы1) как вообще обычно делают такие штуки, может какой-то из способов вообще не приемлем?2) на мой взгляд у каждого способа есть свои плюсы и минусы. Глобально в первой проще намного работать с данными внутри компонент, во втором намного меньше рендерятся компоненты, завязанные на данных.3) подозреваю, что выбор зависит от бизнес-задач, как часто будут приходить сообщения об изменении данных.