Я могу просто инициализировать объект:
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, весь ползунок должен скользить между минимальным (1) и максимальным (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:
Начальный диапазон перемещения ползунка -
[|----------[]----------|]
Вид изменен, границы ограничены -
[--|--[]---|-------------]