/
Расширенные возможности

Расширенные возможности

Как добавить дашборд во внешний портал через iframe:

  1. Копируем ссылку на дашборд: в Dashboard Designer на вкладке Главная выбираем Ссылка – Дашборд.
  2. В HTML внешнего портала вставляем код

    <iframe src="XXX" style="position: absolute; height: 100%; width: 100%; border: none;"></iframe>

,где XXX это ссылка на дашборд.


Как скрыть панель верхнюю:

  1. Копируем ссылку на дашборд: в Dashboard Designer на вкладке Главная выбираем Ссылка – Дашборд.
  2. В ссылке вместо showNav=true пишем showNav=false.


Как выбрать конкретный лист (по умолчанию):

  • Копируем ссылку на лист: в Dashboard Designer на вкладке Главная выбираем Ссылка – Текущий лист.
  • В скопированной ссылке в конце добавляем &showNav=true.


Как выбрать конкретный лист (из внешнего портала):

  • С помощью JavaScript найти нужный элемент iframe и в нем клик по листу с помощью: getElementById("IFRAME_ID").contentWindow.document.getElementById("va-sheet-tabs").children[LIST_INDEX].click(), где IFRAME_ID – это id элемента iframe, а LIST_INDEX – это номер листа, который нужно выбрать (0 – это первый лист, 1 – это второй, 2 – третий и т.д.)


Как из внешнего портала установить фильтр:

  • С помощью JavaScript найти нужный элемент iframe и в нем вызывать функцию через VisApi: getElementById("IFRAME_ID").contentWindow.visApi().setFilterSelectedValues(“WIDGET_ID”, [[“VALUE”]]);, где IFRAME_ID – это id элемента iframe, WIDGET_ID – это id виджета, в котором нужно установить фильтр, VALUE – это значение.


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

  • Подписаться на изменение фильтра можно с помощью функции-подписки:

visApi().onSelectedValuesChangedListener({guid: "XXX", widgetGuid: "YYY" }, function (event) {

    // посылаем сообщение во внешний портал, об изменения выбранного значения в фильтре

    window.parent.postMessage({ message: "filter_changed", event: event }, "*");

});

, где XXX – это случайный уникальный guid события, а YYY – это ID виджета, на который хотим подписаться.

  • Во внешнем портале с помощью JavaScript подписываемся на получение сообщения об изменении фильтра: addEventListener("message", function(event) {
    if (event.data != null && event.data.message === "filter_changed") {
            var selectedValues = event.data.event.selectedValues; // выбранные значения
       
    }
    });


Related content

Добавление дашборда с помощью тега <iframe>
Добавление дашборда с помощью тега <iframe>
Read with this
Расширенные возможности
Расширенные возможности
More like this
Расширенные возможности
Расширенные возможности
More like this
Расширенные возможности
Расширенные возможности
More like this
Расширенные возможности
Расширенные возможности
More like this
Расширенные возможности
Расширенные возможности
More like this