Skip to content

Allow usage of cytoscape js in containers made in WindowProxy #3129

@AdamChlupacek

Description

@AdamChlupacek

Description of new feature

Support rendering of cytoscape graph in WindowProxy created via window.open

Currently cytoscape can only be used in the window in which is the javascript loaded. If we create a new window and try to render cytoscape in to a container in the new window (see example bellow), many styles / events are incorrectly handled.

var openWindow = window.open("./index.html", "_blank", "popup")

openWindow.addEventListener("load", (event) => {
  var container = openWindow.document.createElement("div")
  openWindow.document.body.appendChild(container);

  cytoscape({
    container: container
  })
})

In this use case the new graph cannot be moved and selection highlight gets stuck.

Motivation for new feature

The need for this feature raises from ease of use to open a new window for display of a graph without the need to run a full application in the new window which is opened.

This allows SPA to have one main window which is running the core application, which handles business logic and an unlimited number of windows which display data, so that the user can easily compare different graph.

For reviewers

Reviewers should ensure that the following tasks are carried out for incorporated issues:

  • Ensure that the reporter has adequately described their idea. If not, elicit more information about the use case. You should iteratively build a spec together.
  • Ensure that the issue is a good fit for the core library. Some things are best done in extensions (e.g. UI-related features that aren't style-related). Some things are best done by app authors themselves -- instead of in Cytoscape libraries.
  • The issue has been associated with a corresponding milestone.
  • The commits have been incorporated into the unstable branch via pull request. The corresponding pull request is cross-referenced.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions