Praxiteles
Praxiteles

Reputation: 6030

How to force a redraw of the JointJS canvas?

How does one force a set of linkages to render in JointJS?

We are finding that drawing the linkages between nodes is taking too long. We would like to show our users progress of the linkages even if it slows the overall length down. We are using the Javascript library JointJS at jointjs.com and have tried multiple Javascript methods for forcing redraw of the DOM but nothing seems to be triggering a redraw.

Here are examples of code we have tried to trigger a redraw of even a portion of the DOM let alone the JointJS canvas:

// Fails
// var logger = document.getElementById('log');
// logger.innerHTML = "Processing..."; //  + node_name;
// logger.offsetHeight;

// Fails
//$('#logger').redraw();

// Fails
// $("#logger").hide().html(node_name).fadeIn('fast');

// Fails
// document.getElementById('log').style.display = 'none';
// document.getElementById('log').style.display = 'block';

Any ideas what might work?

Upvotes: 1

Views: 1072

Answers (1)

Dov Rosenberg
Dov Rosenberg

Reputation: 805

You can just use backbone's view.render().

For example, to do an arbitrary link:

let link = graph.getLinks()[0];
let view = paper.findViewByModel(link.id).render();

Upvotes: 1

Related Questions