forge Viewer - Как вы можете выбрать dbId программно, так как он автоматически отменяет выбор другого - PullRequest
0 голосов
/ 27 февраля 2020

В моем средстве просмотра я хочу иметь возможность выбирать несколько баз данных и сохранять их в базе данных, но с помощью control-shift я могу делать выбор, но позже при получении я могу показать, используя select ([массив dbid]) , должно работать нормально. Но опять же, если я хочу выбрать новый dbid, то каждый раз, когда мне приходится выбирать новые dbid, сложно использовать control, и еще одна вещь - это мой обработчик событий (AGGREGATE_SELECTION_CHANGED_EVENT). Мне нужно написать дополнительный код, чтобы определить, какой из последних dbid я выбрал и все? Любое предложение об этом для простого решения для управления этим?

1 Ответ

1 голос
/ 27 февраля 2020

Если вы хотите сохранить текущий выбор при выборе дополнительных узлов программным способом, попробуйте объединить текущие выбранные базы данных с новыми:

const currentSelection = NOP_VIEWER.getSelection()
currentSelection.push(dbid)
NOP_VIEWER.select(currentSelection)

Мне нужно написать дополнительный код, чтобы определить, какой последний выбранный dbid и все?

Да Просмотрщик не отслеживает порядок / метки времени вашего выбора, поэтому вам придется управлять этим самостоятельно.

control -shift Я могу сделать выбор

Вы также можете узнать о настройках поведения щелчка, чтобы изменить поведение щелчков по умолчанию на объектах:

const config = {
        "click": {
            "onObject": ["selectOnly"],
            "offObject": ["deselectAll"]
        },
        "clickAlt": {
            "onObject": ["setCOI"],
            "offObject": ["setCOI"]
        },
        "clickCtrl": {
            "onObject": ["selectToggle"]
            // don't deselect if user has control key down https://jira.autodesk.com/browse/LMV-1852
            //"offObject": ["deselectAll"]
        },
        "clickShift": {
            "onObject": ["selectToggle"]
            // don't deselect if user has shift key down https://jira.autodesk.com/browse/LMV-1852
            //"offObject": ["deselectAll"]
        },
}

NOP_VIEWER.setCanvasClickBehavior(config)
...