You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## NeoDash 2.0.7
Application functionality:
- Added standalone 'dashboard viewer' mode.
- Added option to save/load dashboards from other Neo4j databases.
Reports/Visualizations:
- Fixed bug in creating line charts.
- Added support for datetime axis in line charts.
- Added auto-locale formatting to number values in single value / table reports.
- Added unified renderer for value types.
- Updated default font size for single value reports.
- Added optional deep-link button for graph visualizations.
- Added option to disable auto-running a report, to let users explore the query first.
- Minor styling tweaks to the graph views.
For Developers:
- Added more documentation on extending the app.
- New security-vetted docker image available on Docker hub.
Then visit localhost with the chosen port in your browser.
60
+
Then visit `http://localhost:8080` with the chosen port in your browser.
58
61
59
62
A pre-built Docker image is available [on DockerHub](https://hub.docker.com/r/nielsdejong/neodash).
60
63
64
+
## Run in standalone mode
65
+
NeoDash can be deployed in a 'standalone mode' for dashboard viewers. This mode will:
66
+
- Disable all editing options
67
+
- Have a hardcoded Neo4j URL and database name
68
+
- Load a dashboard from Neo4j with a fixed name.
69
+
70
+
The diagram below illustrates how NeoDash standalone mode can be deployed next to a standard 'Editor Mode' instance:
71
+
72
+

73
+
74
+
You can configure an instance to run as standalone by changing the variables in `tools/docker-run-unix.bash`, or, if you're not using docker, directly modifying `public/config.json`. Note that the editor mode is determined at runtime by the React app, and *not* at build time. You therefore do not need to (re-)build a docker image.
75
+
61
76
## Extending NeoDash
77
+
There are two categories of extensions to NeoDash you can build:
78
+
- Core Dashboard Functionality
79
+
- Custom Reports
80
+
81
+
The first will require some knowledge about React, Redux, and app internals. Some advanced level knowledge is therefore highly recommended. The second is much simpler, and you should be able to plug in your own visualizations with minimal JS knowledge.
82
+
83
+
### Core Dashboard Functionality
84
+
To extend the core functionality of the app, it helps to be familiar with the following concepts:
85
+
- ReactJS
86
+
- Redux (State management for React)
87
+
- Redux Selectors
88
+
- Redux Thunks
89
+
90
+
The image below contains a high-level overview of the component hierarchy within the application. The following conceptual building blocks are used to create the interface:
91
+
- The Application
92
+
- The Dashboard
93
+
- Modals
94
+
- Drawer
95
+
- Dashboard Header
96
+
- Pages
97
+
- Cards
98
+
- Card Views
99
+
- Card Settings
100
+
- Card View Header
101
+
- Report
102
+
- Card View Footer
103
+
- Card Settings Header
104
+
- Card Settings Content
105
+
- Card Settings Footer
106
+
- Charts
107
+
108
+

109
+
110
+
### Custom Reports
62
111
As of v2.0, NeoDash is easy to extend with your own visualizations. There are two steps to take to plug in your own charts:
63
112
64
-
### 1. Create the React component
113
+
####1. Create the React component
65
114
All NeoDash charts implement the interface defined in `src/charts/Chart.tsx`. A custom chart must do the same. the following parameter as passed to your chart from the application:
66
115
-`records`: a list of Neo4j Records. This is the raw data returned from the Neo4j driver.
67
116
-`settings`: a dictionary of settings as defined under "advanced report settings" for each report. You can use these values to customize your visualization based on user input.
@@ -72,7 +121,7 @@ All NeoDash charts implement the interface defined in `src/charts/Chart.tsx`. A
72
121
73
122
Make sure that your component renders a React component. your component will be automatically scaled to the size of the report. See the other charts in `src/charts/` for examples.
74
123
75
-
### 2. Extend the config to make your component selectable
124
+
####2. Extend the config to make your component selectable
76
125
77
126
To let users choose your visualization, you must add it to the app's report configuration. This config is located in `src/config/ReportConfig.tsx`, and defined by the dictionary `REPORT_TYPES`.
* This is the main application component for NeoDash.
28
+
* It contains:
29
+
* - The Dashboard component
30
+
* - A number of modals (pop-up windows) that handle connections, loading/saving dashboards, etc.
27
31
*
32
+
* Parts of the application state are retrieved here and passed to the relevant compoenents.
33
+
* State-changing actions are also dispatched from here. See `ApplicationThunks.tsx`, `ApplicationActions.tsx` and `ApplicationSelectors.tsx` for more info.
0 commit comments