Я могу отлично инициализировать объект:
ngOnInit() {
this.cy = cytoscapeService.cytoscape( Object.assign( {
container : this.el.nativeElement,
}, DATA_FLOW_CYTOSCAPE_CONFIG ) );
this.cy.panzoom( Object.assign(
{ minZoom : 0, maxZoom : 10 }, // arbitrary numbers
relateConfig.panzoomDefaults,
) );
Однако, независимо от того, какие числа я использую, или когда мой график меняет представление, я не могу обновить максимальный / минимальный внешний вид ползунка масштабирования. Я имею в виду, что если вид можно увеличивать только с, скажем, 1-2, весь слайдер должен скользить между min (1) и max (2).
private runLayout() {
this.cy.minZoom( 1e-50 );
const layout = this.cy.layout( DATA_FLOW_LAYOUT_CONFIG );
layout.on( 'layoutstop', () => {
this.cy.minZoom( this.cy.zoom() );
this.cy.panzoom( 'destroy' );
this.cy.panzoom( Object.assign(
{ minZoom : this.cy.zoom() },
relateConfig.panzoomDefaults,
) );
} );
Это регулирует пределы масштабирования, но также ограничивает количество движения, которое имеет ползунок, не пересчитывает минимальное и максимальное положение ползунка позиций.
Имеет ли это смысл? Есть мысли?
Ex:
Начальный диапазон перемещения ползунка -
[| ---------- [] ---------- |]
Вид изменен, границы ограничены -
[- | - [] --- | -------------]