Я использую cytoscape.js с макетом беседки. Есть ли способ вручную остановить рендеринг макета? В doc я увидел событие «layoutstop», но не смог фактически остановить макет.Cytoscape.js как вручную остановить обработку макета
Благодаря
Я использую cytoscape.js с макетом беседки. Есть ли способ вручную остановить рендеринг макета? В doc я увидел событие «layoutstop», но не смог фактически остановить макет.Cytoscape.js как вручную остановить обработку макета
Благодаря
Вот как я работал над проблемой, если кому-то интересно: я просто поместил глобальную stop_layout var в функцию stableEnergy. Уродливый, но он работает. Ура!
var stop_layout = false;
layout_params = {
name: 'arbor',
stableEnergy: function(energy){
var e = energy;
return (e.max <= 0.5) || (e.mean <= 0.3) || stop_layout;
}
};
// Then change the stop_layout value when you want to run or stop layout processing
layoutstop
это событие, чтобы показать, что раскладка перестала бежать. Arbor включает в себя опцию maxSimulationTime
, так что вы можете быстро остановить раскладку: http://cytoscape.github.io/cytoscape.js/#layouts/arbor
Так что нет способа вручную остановить макет? Для больших графиков было бы здорово, если бы пользователь мог нажать на кнопку, чтобы остановить макет, когда он считает, что нет необходимости продолжать. – Pierre
Нет, в настоящее время нет. Единственный макет, на который он повлиял бы, - это беседка (только непрерывная компоновка), которая в любом случае отключается в 'maxSimulationTime'. Если вы настроили 'maxSimulationTime' соответственно для своего типа графика, вам не нужна такая кнопка - лучше быть автоматическим, чем требовать от пользователя делать это вручную. – maxkfranz