В настоящее время я реализую средство просмотра отсканированных страниц с использованием 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", чтобы включить/отключить режим выбора.
Я хочу привязать обработчик углового ng-click к некоторому элементу, чтобы переключить режим выделения моего зрителя. Но я не могу понять, как изменить параметр, а затем заставить зрителя обновить состояние.
Вы должны инициализировать плагин выбора следующим образом:
var selection = viewer.selection(options);
Затем вы можете изменить состояние выбора любым из них:
selection.enable();
selection.disable();
selection.toggleState();
В качестве альтернативы, если вы не можете сохранить объект выделения и получить доступ к нему там, где вам нужно, вы все равно можете получить его у зрителя без прохождения следующих параметров:
var selection = viewer.selection();
Но вы должны быть уверены, что выбор был начат до этого. В противном случае вы создали бы 2 экземпляра экземпляра и имели бы проблемы.
Вы также можете проверить, включен ли выбор с помощью selection.isSelecting
логического свойства. selection.isSelecting