Есть ли способ фильтрации данных вне «кода инициализации JavaScript» - PullRequest
0 голосов
/ 25 января 2019

При разработке приложений с использованием технологий APEX (18.2) можно предоставить пользовательский обратный вызов фильтра данных для диаграммы в App Builder -> Advanced -> «Код инициализации JavaScript».В моем случае я делаю это для вычисления значений метки .Вот мое рабочее решение на основе примера со страницы справки в App Builder:

  function( options ){
    // Setup a callback function which gets called when data is retrieved, it allows to manipulate the series
    options.dataFilter = function( data ) {
        series = data.series;
            $.each(series[0].items, function (_i, item) {
              if (item.value) {
                item.label = (Math.round(item.value*100)/100).toString();
                item.labelPosition = 'outsideBarEdge';
              }
            });
        data.series[ 0 ].color = "#00FF00";
        return data;
    };
    return options;
}

Эта функция будет вызываться каждый раз, когда изменяется ряд данных для этой диаграммы.Проблема: обратный вызов dataFilter вызывается до тех пор, пока диаграмма инициализируется, каждый раз, когда изменяется ряд данных.

Теперь я бы хотел, чтобы позже вызывал другой обратный вызоввремя (например, от динамического действия ) после того, как область, содержащая эту диаграмму, была обновлена ​​для манипулирования данными немного другим способом (не относящимся к вопросу).

Есть ли способ узнать, что серии данных полностью загружены и объект данных готов к манипуляциям?

Заранее спасибо.PS Мой первый вопрос о stackoverflow, надеюсь, он достаточно информативен.

Я пытался регулярно проверять атрибут data.series диаграммы и вызывать функцию пользовательского фильтра данных, когда она не равна нулю.Проблема с этим решением состоит в том, что (это грязный путь), что диаграмма может иметь две оси y, и это решение начнет манипулировать данными, пока загружаются данные для одной оси y.Поскольку я вычисляю метки - второй ряд данных (для второй оси y) не будет иметь меток.

Мое грязное решение с регулярными проверками data.series не должно быть отправной точкой для нового, поэтому я решил не публиковать его.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...