Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.4.9 Release #973

Merged
merged 60 commits into from
Nov 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
2f99dfb
Bump es5-ext from 0.10.62 to 0.10.64
dependabot[bot] Feb 27, 2024
a9668d8
Disable form button until all parameters in given
m-o-n-i-s-h Mar 7, 2024
05ae639
fix: check empty string as well
m-o-n-i-s-h Mar 7, 2024
d35846e
Bump webpack-dev-middleware from 5.3.3 to 5.3.4
dependabot[bot] Mar 23, 2024
dc59000
Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /gallery
dependabot[bot] Mar 23, 2024
85488af
Bump express from 4.18.1 to 4.19.2 in /docs
dependabot[bot] Mar 28, 2024
57c46d6
Bump express from 4.18.2 to 4.19.2 in /gallery
dependabot[bot] Mar 28, 2024
66c78e8
Bump express from 4.18.2 to 4.19.2
dependabot[bot] Mar 29, 2024
9e6d31b
Merge branch 'develop' into feat/FormsButtonImprovements
m-o-n-i-s-h May 3, 2024
3036685
added cypress
m-o-n-i-s-h May 6, 2024
e0a5179
Added cypress
m-o-n-i-s-h May 6, 2024
9223cf2
Add a dependabot config file
May 13, 2024
a90c523
Merge pull request #845 from neo4j-labs/dependabot/npm_and_yarn/expre…
mariusconjeaud May 13, 2024
b9576bd
Add docs directory to dependabot
May 13, 2024
4e2854f
Merge branch 'develop' into dependabot/npm_and_yarn/gallery/express-4…
mariusconjeaud May 13, 2024
27e8e97
Fix dependabot yarn to npm
May 13, 2024
71ac43e
Merge branch 'develop' into dependabot/npm_and_yarn/gallery/express-4…
mariusconjeaud May 13, 2024
1da5a8e
Merge pull request #844 from neo4j-labs/dependabot/npm_and_yarn/galle…
mariusconjeaud May 13, 2024
382c4a6
Merge branch 'master' into dependabot/npm_and_yarn/docs/express-4.19.2
mariusconjeaud May 13, 2024
535e42f
Merge branch 'develop' into dependabot/npm_and_yarn/docs/express-4.19.2
mariusconjeaud May 13, 2024
c7245f6
Merge pull request #842 from neo4j-labs/dependabot/npm_and_yarn/docs/…
mariusconjeaud May 13, 2024
cfada50
Merge branch 'develop' into dependabot/npm_and_yarn/es5-ext-0.10.64
mariusconjeaud May 13, 2024
d2cbd1c
Merge pull request #797 from neo4j-labs/dependabot/npm_and_yarn/es5-e…
mariusconjeaud May 13, 2024
ec4010c
Merge branch 'develop' into dependabot/npm_and_yarn/gallery/webpack-d…
mariusconjeaud May 13, 2024
aab4b99
Merge pull request #839 from neo4j-labs/dependabot/npm_and_yarn/galle…
mariusconjeaud May 13, 2024
08dc5b6
Merge pull request #838 from neo4j-labs/dependabot/npm_and_yarn/webpa…
mariusconjeaud May 13, 2024
c666767
Migrate DataGrid to 7.x #850 ; Initial changes
May 14, 2024
52064e2
Fix compact x wrapping
May 15, 2024
fccafaf
Merge branch 'develop' into feat/FormsButtonImprovements
m-o-n-i-s-h Jun 21, 2024
0432950
feat: Updated JSDoc
m-o-n-i-s-h Jun 21, 2024
4103d7c
Bump micromatch from 4.0.5 to 4.0.8 in /gallery (#948)
dependabot[bot] Sep 24, 2024
484844e
Bump webpack from 5.77.0 to 5.94.0 (#947)
dependabot[bot] Sep 24, 2024
e2b7753
Bump fast-loops from 1.1.3 to 1.1.4 in /gallery (#920)
dependabot[bot] Sep 24, 2024
ca4d897
Bump ws from 8.12.1 to 8.17.1 (#911)
dependabot[bot] Sep 24, 2024
7b37a50
Bump braces from 3.0.2 to 3.0.3 in /gallery (#908)
dependabot[bot] Sep 24, 2024
3c71fda
Bump follow-redirects from 1.15.4 to 1.15.6 in /gallery (#831)
dependabot[bot] Sep 24, 2024
ad837df
Bump follow-redirects from 1.15.4 to 1.15.6 (#830)
dependabot[bot] Sep 24, 2024
6d4e228
Added evolution notice
nielsdejong Oct 30, 2024
f93de63
Fixed typo in README
nielsdejong Oct 30, 2024
82880fb
Fixed typo in README
nielsdejong Oct 30, 2024
ac3eae3
Bumped version number to 2.4.9
nielsdejong Nov 11, 2024
3c0324d
Improve method for checking "low" property existence in downloadCSV f…
bastienhubert Nov 11, 2024
8d4e72c
Update configuration.adoc (#946)
Jyots6914 Nov 11, 2024
c1ea932
Feature/rule based styling table colouring (#944)
LiamEdwardsLamarche Nov 11, 2024
a7a17eb
Bugfix/array table wrap (#943)
LiamEdwardsLamarche Nov 11, 2024
1555b81
changes to add ssl support (#935)
geetparekh Nov 11, 2024
455ee42
adding param to manage SSO redirection (#918)
alfredorubin96 Nov 11, 2024
f880666
Add possibility to hide Y axes and grid lines in BarChart (#895)
bastienhubert Nov 11, 2024
f6cdac7
Merge branch 'develop' into 850-migrate-datagrid-to-7x
nielsdejong Nov 11, 2024
2a7105f
Markdown tables not rendered #836 (#893)
mariusconjeaud Nov 11, 2024
f8c48ff
Added banner to all docs pages referring to new docs
nielsdejong Nov 11, 2024
33aa485
Updated README
nielsdejong Nov 11, 2024
416b8f8
Current Users or ALL Users getting deleted in an Update (#906)
AleSim94 Nov 12, 2024
906333a
Finalized release notes and updated README for 2.4.9
nielsdejong Nov 14, 2024
d822773
[Feature #884] Helm chart for Kubernetes deployments PR#902 (#971)
msenechal Nov 14, 2024
20874b6
Merge branch 'develop' into feature/new-readme-evolving
nielsdejong Nov 14, 2024
69dd2a1
Merge pull request #822 from mercedes-benz/feat/FormsButtonImprovements
alfredorubin96 Nov 14, 2024
aeb1cd0
Merge pull request #894 from neo4j-labs/850-migrate-datagrid-to-7x
alfredorubin96 Nov 14, 2024
c95013c
Merge branch 'develop' into feature/new-readme-evolving
nielsdejong Nov 14, 2024
07dc37e
Merge pull request #967 from neo4j-labs/feature/new-readme-evolving
alfredorubin96 Nov 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"extends": ["eslint:recommended", "prettier", "plugin:@typescript-eslint/recommended"], // this is optional
"env": {
"browser": true,
"node": true
"node": true,
"jest": true
},
"settings": {
"react": {
Expand Down Expand Up @@ -166,5 +167,9 @@
],
"symbol-description": "error",
"yoda": "error"
},
"globals": {
"cy": "readonly",
"Cypress": "readonly"
}
}
19 changes: 19 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'weekly'
target-branch: 'develop'

- package-ecosystem: 'npm'
directory: '/gallery'
schedule:
interval: 'weekly'
target-branch: 'develop'

- package-ecosystem: 'npm'
directory: '/docs'
schedule:
interval: 'weekly'
target-branch: 'develop'
4 changes: 2 additions & 2 deletions .github/workflows/master-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:2.4.8
tags: ${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_LABS_USERNAME }}/neodash:2.4.9
build-docker-legacy:
needs: build-test
runs-on: neodash-runners
Expand All @@ -103,7 +103,7 @@ jobs:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_USERNAME }}/neodash:2.4.8
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/neodash:latest,${{ secrets.DOCKER_HUB_USERNAME }}/neodash:2.4.9
deploy-gallery:
runs-on: neodash-runners
strategy:
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ USER nginx
EXPOSE $NGINX_PORT

HEALTHCHECK cmd curl --fail "http://localhost:$NGINX_PORT" || exit 1
LABEL version="2.4.8"
LABEL version="2.4.9"
22 changes: 15 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@

## NeoDash - Neo4j Dashboard Builder
NeoDash is an open source tool for visualizing your Neo4j data. It lets you group visualizations together as dashboards, and allow for interactions between reports.
## NeoDash Labs - Neo4j Dashboard Builder

![screenshot](public/screenshot.png)
![screenshot](evolving.png)

In September 2024 **Neo4j [announced](https://www.datanami.com/2024/09/04/neo4j-simplifies-graph-database-in-the-cloud/#:~:text=NeoDash%20is%20an%20open%20source,was%20open%20source%2C%20not%20supported) NeoDash is evolving into a fully supported dashboard builder, as part of the Neo4j product suite**.

This project (NeoDash Labs) will still be available and contain experimental features, but will **not** have official support. If you're interested to get official support for NeoDash as part of a Neo4j License agreement, please reach out to your Neo4j contact person.

## About NeoDash Labs
NeoDash is a web-based tool for visualizing your Neo4j data. It lets you group visualizations together as dashboards, and allow for interactions between reports.

Neodash supports presenting your data as tables, graphs, bar charts, line charts, maps and more. It contains a Cypher editor to directly write the Cypher queries that populate the reports. You can save dashboards to your database, and share them with others.

## Try NeoDash
## Try NeoDash Labs
You can run NeoDash in one of three ways:

1. You can install NeoDash into Neo4j Desktop from the [graph app gallery](https://install.graphapp.io). NeoDash will automatically connect to your active database.
2. You can run NeoDash from a web browser by visiting http://neodash.graphapp.io.
1. You can install NeoDash Labs into Neo4j Desktop from the [graph app gallery](https://install.graphapp.io). NeoDash will automatically connect to your active database.
> Note: never versions of Neo4j Desktop do not support adding experimental graph apps such as NeoDash.

2. You can run NeoDash Labs from a web browser by visiting http://neodash.graphapp.io.
3. For on-prem deployments, you can build the application yourself, or pull the latest Docker image from Docker Hub.
```
# Run the application on http://localhost:5005
Expand Down Expand Up @@ -79,4 +87,4 @@ If you have any questions about NeoDash, please reach out to the maintainers:
- Connect with us on the [Neo4j Discord](https://neo4j.com/developer/discord/).
- Create a post on the Neo4j [Community Forum](https://community.neo4j.com/).

> NeoDash is a free and open-source tool developed by the Neo4j community - not an official Neo4j product. If you have a need for a commercial agreement around training, custom extensions or other services, please contact the [Neo4j Professional Services](https://neo4j.com/professional-services/) team.
> NeoDash Labs is a free and open-source tool developed by the Neo4j community - not an official Neo4j product. Use at your own risk!
20 changes: 20 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## NeoDash 2.4.9
This release adds some minor changes to documentation and implements some community contributions.
- Added notice about project evolution: [#967](https://github.com/neo4j-labs/neodash/pull/967)
- Added community contributions and bug fixes:
[#967](https://github.com/neo4j-labs/neodash/pull/967)
[#894](https://github.com/neo4j-labs/neodash/pull/894)
[#822](https://github.com/neo4j-labs/neodash/pull/822)
[#951](https://github.com/neo4j-labs/neodash/pull/951)
[#946](https://github.com/neo4j-labs/neodash/pull/946)
[#944](https://github.com/neo4j-labs/neodash/pull/944)
[#943](https://github.com/neo4j-labs/neodash/pull/943)
[#938](https://github.com/neo4j-labs/neodash/pull/938)
[#935](https://github.com/neo4j-labs/neodash/pull/935)
[#918](https://github.com/neo4j-labs/neodash/pull/918)
[#908](https://github.com/neo4j-labs/neodash/pull/908)
[#906](https://github.com/neo4j-labs/neodash/pull/906)
[#902](https://github.com/neo4j-labs/neodash/pull/902)
[#895](https://github.com/neo4j-labs/neodash/pull/895)
[#893](https://github.com/neo4j-labs/neodash/pull/893)

## NeoDash 2.4.8
This is a minor release containing an important fix and other minor fixes:

Expand Down
1 change: 1 addition & 0 deletions cypress.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ export default defineConfig({
projectId: 'a8nh14',
video: false,
e2e: {
defaultCommandTimeout: 20000,
experimentalMemoryManagement: true,
numTestsKeptInMemory: 0,
baseUrl: 'http://localhost:3000',
Expand Down
156 changes: 156 additions & 0 deletions cypress/Page.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
const DB_URL = 'localhost';
const DB_USERNAME = 'neo4j';
const DB_PASSWORD = 'test1234';

export class Page {
constructor(cardSelector) {
this.cardSelector = cardSelector;
}

init() {
cy.viewport(1920, 1080);
cy.visit('/', {
onBeforeLoad(win) {
win.localStorage.clear();
},
});
return this;
}

createNewDashboard() {
cy.get('#form-dialog-title').then(($div) => {
const text = $div.text();
if (text == 'NeoDash - Neo4j Dashboard Builder') {
cy.wait(100);
// Create new dashboard
cy.contains('New Dashboard').click();
}
});
return this;
}

connectToNeo4j() {
cy.get('#form-dialog-title', { timeout: 20000 }).should('contain', 'Connect to Neo4j');
cy.get('#url').clear().type(DB_URL);
cy.get('#dbusername').clear().type(DB_USERNAME);
cy.get('#dbpassword').type(DB_PASSWORD);
cy.get('button').contains('Connect').click();
cy.wait(100);
return this;
}

enableReportActions() {
cy.get('main button[aria-label="Extensions').should('be.visible').click();
cy.get('#checkbox-actions').scrollIntoView();
cy.get('#checkbox-actions').should('be.visible').click();
cy.get('.ndl-dialog-close').scrollIntoView().should('be.visible').click();
cy.wait(100);
return this;
}

enableAdvancedVisualizations() {
cy.get('main button[aria-label="Extensions').should('be.visible').click();
cy.get('#checkbox-advanced-charts').should('be.visible').click();
cy.get('.ndl-dialog-close').scrollIntoView().should('be.visible').click();
cy.wait(100);
return this;
}

enableFormsExtension() {
cy.get('main button[aria-label="Extensions').should('be.visible').click();
cy.get('#checkbox-forms').scrollIntoView();
cy.get('#checkbox-forms').should('be.visible').click();
cy.get('.ndl-dialog-close').scrollIntoView().should('be.visible').click();
cy.wait(100);
return this;
}

selectReportOfType(type) {
cy.get('main .react-grid-item button[aria-label="add report"]').should('be.visible').click();
cy.get('main .react-grid-item')
.contains('No query specified.')
.parentsUntil('.react-grid-item')
.find('button[aria-label="settings"]', { timeout: 2000 })
.should('be.visible')
.click();
cy.get(`${this.cardSelector} #type`, { timeout: 2000 }).should('be.visible').click();
cy.contains(type).click();
cy.wait(100);
return this;
}

createReportOfType(type, query, fast = false, run = true) {
this.selectReportOfType(type);
if (fast) {
cy.get(`${this.cardSelector} .ReactCodeMirror`).type(query, {
delay: 1,
parseSpecialCharSequences: false,
});
} else {
cy.get(`${this.cardSelector} .ReactCodeMirror`).type(query, { parseSpecialCharSequences: false });
}
cy.wait(400);

if (run) {
this.closeSettings();
}

cy.wait(100);
return this;
}

openSettings() {
cy.get(this.cardSelector).find('button[aria-label="settings"]', { WAITING_TIME: 2000 }).click();
cy.wait(100);
return this;
}

closeSettings() {
cy.get(`${this.cardSelector} button[aria-label="run"]`).click();
cy.wait(100);
return this;
}

openAdvancedSettings() {
this.openSettings();
cy.get(this.cardSelector).contains('Advanced settings').click();
cy.wait(100);
return this;
}

closeAdvancedSettings() {
cy.get(this.cardSelector).contains('Advanced settings').click();
this.closeSettings();
return this;
}

openReportActionsMenu() {
this.openSettings();
cy.get(this.cardSelector).find('button[aria-label="custom actions"]').click();
cy.wait(100);
return this;
}

updateDropdownAdvancedSetting(settingLabel, targetValue) {
this.openAdvancedSettings();
cy.get(`${this.cardSelector} .ndl-dropdown`).contains(settingLabel).siblings('div').click();
cy.contains(targetValue).click();
this.closeAdvancedSettings();
return this;
}

updateChartQuery(query) {
this.openSettings();

cy.get(this.cardSelector)
.find('.ndl-cypher-editor div[role="textbox"]')
.should('be.visible')
.click()
.clear()
.type(query);
cy.wait(100);

this.closeSettings();
return this;
}
}
Loading
Loading