Обмен сообщениями с деталью которая расположена на соседней закладке от основной.
Добрый день!
Как сделать чтобы при открытии страницы редактирования раздела, подгружалась деталь, расположенная на соседней закладке от основной. Дело в том что не работает механизм обмена сообщениями с деталью, пока не переключишься на закладку, в которой деталь расположена.
Спасибо!
Нравится
Если речь об открытых страницах системы в разных вкладках браузера, дело вовсе и не в логике, а в браузере, который не загружает сразу фоновые вкладки или выгружает их, пока они не используются. Или не в самом браузере, а в установленных к нему плагинах, см. обсуждение.
На самом деле речь идет об одной странице браузера. Имеется ввиду основная закладка "Данные о продаже" и соседняя - "Продукты". Ввожу скидку/наценку по продаже и хочу передать эту информацию в деталь для пересчета, но пока не переключишься на закладку "Продукты" сообщение не передается. Видимо это и правильно, но хотелось бы чтобы данные пересчитались, не зависимо от того активировали вкладку или нет. Может есть какое то более правильное решение?
Если деталь ещё не загружена, то можно внести изменения в данных на уровне её объекта и при загрузке они уже будут учтены. Иногда наоборот, удобно, что деталь ещё не загружена. Например, добавили к сущности задачу через миникарточку, переключились на нужную вкладку, она загрузилась и задача на ней появилась. А если вкладка уже загружена, то нет, нужно заново открывать всю запись.
Согласен с вами, Александр. Изначально планировал делать расчеты на клиенте и сохранять готовые данные на сервере. Но раз данные не загружены на страницу, то делать расчеты на клиенте смысла нет. Буду делать расчеты на сервере. Но вопрос все же остался и хотелось бы понять - можно ли как то вручную подгрузить деталь, если она находится на соседней странице? И была ли у кого то в этом необходимость и в каких случаях это может быть нужно? Стоит этим заморачиваться?
Не забывайте, что на детали может быть и более одной страницы записей и грузить заранее их все на клиент может нецелесообразно с точки зрения нагрузки на базу, сервер, сеть и браузер.
Что мешает в схеме одной детали писать данные в ESQ объекта другой детали? Данные попадут в базу и при открытии первый раз второй детали оттуда подтянутся. А если нужно, чтобы и не при первом открытии данные были, можете скомбинировать с Вашей изначальной логикой.
Я вас не понимаю, Александр. Проблемы писать в базу я не вижу. Я просто хотел узнать механизм принудительной загрузки модуля (схемы) детали, которая находится на соседней вкладке от вкладки "Данные продажи". Но видимо не узнаю.
Соседняя деталь загружается не принудительно, а в момент перехода в неё. Если хотите переделать стандартную логику инициализации деталей, смотрите на DefaultTabName и работу с ним в BasePageV2.