diff --git a/browser-manual/5/_images/neo4j-browser.drawio b/browser-manual/5/_images/neo4j-browser.drawio new file mode 100644 index 00000000000..012567d14b3 --- /dev/null +++ b/browser-manual/5/_images/neo4j-browser.drawio @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/browser-manual/5/_images/neo4j-browser.png b/browser-manual/5/_images/neo4j-browser.png index f8d4927af76..535f3d6726c 100644 Binary files a/browser-manual/5/_images/neo4j-browser.png and b/browser-manual/5/_images/neo4j-browser.png differ diff --git a/browser-manual/5/internals/graph-interactions/index.html b/browser-manual/5/internals/graph-interactions/index.html new file mode 100644 index 00000000000..6d3e7186628 --- /dev/null +++ b/browser-manual/5/internals/graph-interactions/index.html @@ -0,0 +1,595 @@ + + + + + + + + + + + + + + + + + + + How Graph Interations Take Effect on Displayed Graph and Backing Database - Neo4j Browser + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + +
+
+
+

How Graph Interations Take Effect on Displayed Graph and Backing Database

+
+ + + + + +
+
+
+

We define graph interactions as any mouse and +keyboard events on the +Graph frame view

+
+
+

There are basically 3 components involved in handling users' interactions:

+
+
+
    +
  1. +

    GraphEventHandlerModel contains implementations on how to operate on the displayed graph for various interactions

    +
  2. +
  3. +

    Visualization triggers the implementations via D3 callbacks

    +
  4. +
  5. +

    VisualizationView is involved if a certain type of user interaction involves database changes

    +
  6. +
+
+
+
+
+

How to Implement a User Interaction

+
+
+
    +
  1. +

    Implement an event handler function in GraphEventHandlerModel

    +
  2. +
  3. +

    Bind the handler function in GraphEventHandlerModel.bindEventHandlers()

    +
  4. +
  5. +

    Trigger the handler function in Visualization

    +
  6. +
  7. +

    If the interaction involves database changes, add the corresponding logic to GraphInteractionCallBack, and

    +
  8. +
  9. +

    trigger the GraphInteractionCallBack in the handler function

    +
  10. +
+
+
+

For example, let’s say we’d like to support easy on-graph editing by allowing us to create a new node when we double +click on canvas. We will

+
+
+

The complete implementation is in this PR as a reference

+
+
+
+
+
+
+
+ + + + + + + + +
+ + + + diff --git a/browser-manual/5/internals/index.html b/browser-manual/5/internals/index.html index 50d55d749be..bf56fc10ea8 100644 --- a/browser-manual/5/internals/index.html +++ b/browser-manual/5/internals/index.html @@ -450,9 +450,10 @@

Neo4J Browser Internals

-

The graphing is based on D3 but pretty much developed from scratch by building everything on top of D3 and implementing -its own layout, coloring, and link drawing. For example, the calculation of arrow (e.g. node links) between nodes -uses some very complicated math along with very prelimiary MDN standard basic shap specification.

+

The graphing is based on D3 and implements its own layout, coloring, and link drawing. For example, the calculation of +arrow, i.e. links, between nodes uses some +very complicated math +along with very prelimiary MDN standard basic shap specification.

@@ -462,7 +463,8 @@

Neo4J Browser Internals

@@ -474,11 +476,15 @@

Neo4J Browser Internals

Component Diagram (WIP)

-

neo4j browser

+

neo4j browser

  • +

    The orange triangle labled with "On Canvas Interaction" is discussed in detail in +graph interactions section

    +
  • +
  • Sentry.io is initialized in the top index.tsx

  • diff --git a/browser-manual/5/sitemap.xml b/browser-manual/5/sitemap.xml index 08de6674faf..15cb7e211a2 100644 --- a/browser-manual/5/sitemap.xml +++ b/browser-manual/5/sitemap.xml @@ -2,110 +2,114 @@ https://neo4j.com/docs/browser-manual/current/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/about-browser/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/deployment-modes/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/deployment-modes/dedicated-web-server/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/deployment-modes/neo4j-aura/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/deployment-modes/neo4j-desktop/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/deployment-modes/neo4j-sandbox/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/deployment-modes/neo4j-server/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/deployment-modes/web-application/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/internals/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z + + +https://neo4j.com/docs/browser-manual/current/internals/graph-interactions/ +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/internals/graph-modelling/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/browser-rbac-count/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/browser-settings/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/browser-sso/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/browser-styling/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/browser-url-parameters/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/credentials-handling/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/dbms-connection/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/export-results/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/initial-command/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/product-analytics/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/query-parameters/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/rest-requests/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/operations/result-frames/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/reference-commands/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z https://neo4j.com/docs/browser-manual/current/visual-tour/ -2023-10-03T02:45:06.834Z +2023-10-04T10:49:32.686Z
-

We will not have any TypeDoc documentation, because the TypeScript version used in Neo4J Browser is not supprted by it

+

We will not have any TypeDoc documentation, because the TypeScript version used in Neo4J Browser is not supprted by the +TypeDoc