Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
languagejs
var elemFilter = document.getElementById(w.general.renderTo);
elemFilter.childNodes[0].childNodes[1].style.width = '250px' // в конец кода фильтра после функции FilterRender();

Убрать кружок загрузки у виджета

...

Блок кода
languagejs
$("#widget-" + "ea0489d0465842a6b666713fe62c6f17").find(".va-widget-loader").remove();

Убрать надпись “нет данных” в виджетах

...

Блок кода
languagejs
// Скрипт с сожержимым в папку customjs и каждые 200 мс меняет надпись
setInterval(function() {
$.each($(".va-widget-error"), function () {
var text = $(this).find("div").text();
if (text == "У виджета нет данных") {
$(this).find("div").text("Другой текст");
}
});
}, 200);

Виджет PDF

...

Блок кода
languagejs
var render = new ImageRender({
    image: w.general
});

var widgetGuid = w.general.renderTo;

var $widget = $("#widget-" + widgetGuid);
$("#" + widgetGuid).html('<iframe width=' + $widget.width() + ' height=' + $widget.height() + ' src="<URI>"></iframe>'); //src="http://flipbox.ru/upload/iblock/3af/3af9d0b89706ed3f93a12530903922bc.pdf" 

render.updateDimensions = function() {
    $("#" + widgetGuid).find("iframe").attr("width", $widget.width()).attr("height", $widget.height());
}
render;

Виджет YouTube

...

Блок кода
languagejs
var widgetGuid = w.general.renderTo;
var $widget = $("#" + widgetGuid);
var widgetWidth = $widget.width();
var widgetHeight = $widget.height();

$("#"+ w.general.renderTo).html('<iframe width="' + widgetWidth + '" height="' + widgetHeight + '" src="https://www.youtube.com/embed/lBpmltgkVeo?autoplay=1&loop=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>');

Виджет Видеоклип

...

Блок кода
languagejs
// http://htmlbook.ru/html/video - параметры типа autoplay брали отсюда. Пример тоже оттуда.
var widgetGuid = w.general.renderTo;
var $widget = $("#" + widgetGuid);
var widgetWidth = $widget.width();
var widgetHeight = $widget.height();
$("#"+ w.general.renderTo).html('<video src="https://www.quackit.com//video/pass-countdown.ogg" width="' + widgetWidth + '" height="' + widgetHeight + '" loop preload></video>');

Виджет Видеоклип

...

Блок кода
languagejs
// http://htmlbook.ru/html/video - параметры типа autoplay брали отсюда. Пример тоже оттуда.
var widgetGuid = w.ge

Влияние виджета фильтр на виджет ютуба.

...

Блок кода
languagejs
var widgetGuid = w.general.renderTo;
var $widget = $("#" + widgetGuid);
var widgetWidth = $widget.width();
var widgetHeight = $widget.height();
var filterGuid = "120c138c74534e5687eeb976c33eaf67"; // тут заменить на GUID виджета фильтры, который должен влиять на выбор видео.
var URL_tail = "?autoplay=1&loop=1" // Для удобства задаеме хвост, который будем прибавлять к URL. В данном случае для youtube это включение автовоспроизведения и бесконечного повтора видео.

// Подписываемся на виджет фильтр
visApi().onSelectedValuesChangedListener({guid: "23e756f2f3p1", widgetGuid: filterGuid }, function (info) {
    renderWidgetVideo(info.selectedValues[0][0]);
});

//Описываем функцию, которая будет выполняться и возвращать значение link. 
function renderWidgetVideo(link) {
	$widget.html('<iframe width="' + widgetWidth + '" height="' + widgetHeight + '" src="https://www.youtube.com/embed/' + link + URL_tail + '" ></iframe>'); // конкатенация начала URL (https://www.youtube.com/embed/), переменной link (в которой уникальная часть uri видосика) и переменной URL_tail
}

// Дополнительный код на случай, если у фильтра уже есть по умолчанию выбранное значение при открытии дэшборда. Но тут работоспособность не проверяли.
// если по умолчанию у Фильтра есть выбранное значение, то берем его
var selectedValues = visApi().getSelectedValues(filterGuid);
if (selectedValues && selectedValues.length > 0) {
	renderWidgetVideo(selectedValues[0][0]);
}


// Пример ссылки с ютубчика. Нужно обязательно использовать embed ссылку, иначе будет ругаться. Еще в случае с ютубом платформа должна работать по HTTPS, так как ютуб только по HTTPS работает.
// $("#"+ w.general.renderTo).html('<iframe width="' + widgetWidth + '" height="' + widgetHeight + '" src="https://www.youtube.com/embed/lBpmltgkVeo?autoplay=1&loop=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>');и
Раскрыть
WatchMe.mp4

Сортировка расчетного столбца

...

В начала кода и заменить индекс на свой. Ниже кейс для гистограммы с одним расчетным столбцом и скрытыми остальными на вкладке Дополнительно. В запросе два показателя и один атрибут в строках.

Блок кода
languagejs
w.series[0].data =  w.series[0].data.sort(function(a,b){
    return a.y > b.y? -1: 1 ;
});
w.xAxis.categories = w.series[0].data.map(item => item.name)

Highcharts.chart({...
});