OpenSeadragonselection: динамически переключать состояние выделения

В настоящее время я внедряю средство просмотра отсканированных страниц, используя OpenSeadragon и плагин Selection ( https://github.com/picturae/openseadragonselection), чтобы пользователь мог выбрать часть страницы.

Я добавил пользовательские элементы управления для увеличения и уменьшения масштаба и переключения между ними, если вы хотите увеличить изображение. Все идет нормально.

Но у меня возникают проблемы динамически, в моем коде, чтобы изменить состояние выбора.

Я инициализирую своего зрителя в соответствии с:

var options = {
    showNavigator: true,
    toggleButton: 'toggle-selection',
    zoomPerClick: 2.0,
    element: 'myElement',
    url: <url to image>
};

var viewer = OpenSeadragon(options);

Это инициализирует зрителя, как я и ожидал, и все денди. Я могу нажать на элемент с id="toggle-selection", чтобы включить / отключить режим выбора.

Я хочу привязать обработчик Angular ng-click к некоторому элементу, чтобы переключить режим выбора моего зрителя. Но я не могу понять, как изменить параметр, а затем заставить зрителя действительно обновить состояние.

1 ответ

Решение

Вы должны инициализировать плагин выбора следующим образом:

var selection = viewer.selection(options);

Затем вы можете изменить состояние выбора с помощью любого из них:

selection.enable();
selection.disable();
selection.toggleState();

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

var selection = viewer.selection();

Но вы должны быть уверены, что выбор был начат до этого. В противном случае вы бы создали 2 экземпляра выбора и имели бы проблемы.

Вы также можете проверить, включен ли выбор с помощью логического свойства selection.isSelecting

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