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

Представим ситуацию, что один пользователь сделал некое действие в системе, и нам необходимо сразу отобразить это изменение у другого пользователя (если он на сайте).

Это можно сделать, используя связку внешнего действия sendToBrowser с указанием пользователя и обновления некоего контейнера (например, с классом cont1) и обновляемой формы, которая лежит в контейнере с классом cont1. 

К примеру, пользователь 1 нажал кнопку формы, вызывается saveItem, в котором в SELECT 2 вызываем внешнее действие: 

select 'sendToBrowser' type, 'user2' username, 
       '' falconGuid,
       '' url,
       'action1' code,
    	'{
        	"refreshContainer": ".cont1",
            
         }' data

А у пользователя2 на некой странице выводится форма в контейнере: 

<div class="cont1">
    <div class="as-form" data-code="form1" data-itemid="1"></div>
</div>

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

Помимо просто обновления контейнера есть и другие возможности у sentToBrowser - см. описание внешнего действия sentToBrowser.

P.S. Подобным образом можно отправлять команды обновления множеству пользователей (например через select * from dbo.sec_getRoleUsers('manager') where ....).

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK