Как должен выглядеть параметр value при программном запуске сигнала в Vega?

На одном из слоев моего представления у меня есть

        "params": [
    {
      "name": "selectedFeature",
      "select": {
        "type": "point",
        "fields": ["order"]
      }
    }

я использую vega-embed и добавил слушателя сигнала.

      vegaInstance.view.addSignalListener('selectedFeature', async function (signalName, e) {
    console.debug(signalName, JSON.stringify(e))
    // Returns e.g. 
    // selectedFeature {"order":[2],"vlPoint":{"or":[{"order":2}]}}
}

Это нормально работает. Но я хотел бы также активировать сигнал извне диаграммы (без привязки его к элементу), как это объясняется в документации View API.

Я пробовал такие вещи, как

      vegaInstance.view.signal('selectedFeature', {order: 2})

а также

      vegaInstance.view.signal('selectedFeature', {
    order: [2],
    vlPoint: {
        or: [{
            order: 2
        }]
    }
});

но не повезло. Журнал отладочных сообщений распечатывается

      selectedFeature {}

имея в виду сигнал nameподбирается, но не его. Какой формат должен value быть?

2 ответа

Я решил ту же проблему, обновив выделение с помощью vegaInstance.view.signal ('selectedFeature**_ tuple **', {...}) вместо vegaInstance.view.signal('selectedFeature', {...}). Получил это отсюда

Я решил это, добавив скрытое поле ввода и привязав параметр к этому полю ввода. Затем я инициирую событие ввода в этом поле ввода.

Другие вопросы по тегам