Skip to content

Commit 31e898b

Browse files
nielsdejongalfredorubin96dependabot[bot]BennuFireJonanOribe
authored
2.4 Release (#688)
* Made API keys hidden (password fields) in the query translator module * Added new report action type for tables: multiselect checkboxes (#664) * Work in progress on table checkboxes * Fix handling external updates of parameter values in parameter selector * Improved handling of multiselector parameters for tables with checkboxes * Removed console log statement. Fix invalid behaviour * Updated comments * Added multiselect value limit * Clean up action rule create modal * Added docs on multiple selection with table rows and report actions * Fix handling external updates of parameter values in parameter selector (#663) * Fix handling external updates of parameter values in parameter selector * Removed console log statement. Fix invalid behaviour * Updated comments * Feature/new dashboard load UI (#657) * Added sidebar prototype * Return of the sidebar * Add database selector to sidebar * Iterating on the dashboard sidebar interface * Fixed usage of hardcoded color * Updated dashboard loading mechanism, iterating * Updated dashboard loading mechanism, iterating * Updated file structure for dashboard sidebar * Improved modal/menu handling for dashboard load * Import/export dashboards * New dashboard sharing interface * Removed old save/load modal * Finalized v1 of the new multi-dashboard UI * removing useless imports * Removed old isLoaded in state of dashboard load screen. Updated warning buttons --------- Co-authored-by: Alfred Rubin <[email protected]> * Bump @babel/traverse from 7.21.4 to 7.23.2 in /gallery (#670) Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.21.4 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Harold Agudelo <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @babel/traverse from 7.20.13 to 7.23.2 (#669) Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.20.13 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Harold Agudelo <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Niels de Jong <[email protected]> * Bump postcss from 8.4.23 to 8.4.31 in /gallery (#656) Bumps [postcss](https://github.com/postcss/postcss) from 8.4.23 to 8.4.31. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](postcss/postcss@8.4.23...8.4.31) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Harold Agudelo <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Niels de Jong <[email protected]> * Bump postcss from 8.4.21 to 8.4.31 (#655) Bumps [postcss](https://github.com/postcss/postcss) from 8.4.21 to 8.4.31. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](postcss/postcss@8.4.21...8.4.31) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Harold Agudelo <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Niels de Jong <[email protected]> * Text hard to read on dark theme (#668) * Hiding columns in Table does not work #374 * Revert "Hiding columns in Table does not work #374" This reverts commit dc36d84. * Text hard to read on Dark Theme #667 * Fixed code style --------- Co-authored-by: Niels de Jong <[email protected]> * Hotfix for wrong default parameter replacement in markdown * Add back arrow on connection modal (#675) * fix: add back arrow on connection modal * WIP on improved back arrow for connection modal * Fixed dismissable connection modal based on connected state and standalone mode --------- Co-authored-by: Niels de Jong <[email protected]> * VULCAN-126/Override default message (#683) * Override default message * Refactored code * refactored code * Added docs --------- Co-authored-by: Monish <[email protected]> * Fix/hiding columns in table (#685) * fixed the issues with not being able to close columns in table chart * reverted back to orignal testpass --------- Co-authored-by: aleksandarneo4j <[email protected]> * Fix parameters values (#641) Co-authored-by: Niels de Jong <[email protected]> * Updated dashboard format to 2.4. Double resolution for horizontal and vertical card placement. Fixed several small usability issues (#682) * Updated dashboard format to 2.4. Double resolution for horizontal and vertical card placement. Fixed several small usability issues * Handling for dashboards in standalone mode * cleaning code followign SonarCloud code smells * changed migration function to reduce duplication, tested on twitter example dashboard * changed how we fetch the latest version of the code * changed migration function to reduce duplication, to test for applicationThunks --------- Co-authored-by: Alfred Rubin <[email protected]> * Feature/gantt chart (#684) * Added forms skeleton * Completed form skeleton * WIP on forms interface * Form framework (data entry, running, success, error) added * Added comments * Adding fields specification interface * UI for specifying individual parameter in a form * changing Dockerfile to enable args during build * fixing typo on argument in dockerfile * reverting dockerfile to older version * Rendering parameters inside the form component * Added docs for forms. Improved stability on form * Fixed warnings in console * Finished IT test for forms report * Added package * added new field to disable a parameter selector (in this way it works only with actions) * Gantt Chart Visualization * Fixed issue where parameter values were not updated on external changes * Fixed styling on freetext spinner * Workaround for clipping menu selectors in Needle * fix(rule based styling): js doing is magic with parseFloat (some strings were casted to floats event if they were just strings starting with 0 * Added save button to form create UI * removing console logs * Fix for needle dropdowns not showing on modals * Sortable list for form parameters * Improving the drag 'n drop * Iterating on form interface * Final version of forms * Disabling test * Gantt chart with live data * Improved robustness of form / parameter select component * Improve Gantt chart customizability. Added report action for Gantt charts * Added wait-logic for form submission, so that all fields are debounced and set correctly * Added multiline support for freetext parameter selector * Added support for drilled-down parameters used in the forms component * Fixed issues with parameter selector/forms, improve usability * Added default advanced settings to form * hanging if orders to prevent wrong casting to number for certain edge cases (EX: string with numbers and E : 00E1304) * adding more options to gantt chart and adding variable calendar type * Prototype of Frappe Gantt implementation * Improved version of frappe gantt * work in progress on new gantt chart * Clean up code structure * Clean up and documenting Gantt chart * Gantt chart stability & arrow directions * Handling task dependency directions in Gantt chart * Improved styling * More optimization & style fixes. * Added docs for Gantt Chart * Added rule-based styling and actions to Gantt chart * Finalized Gantt chart docs, examples, and fallback date parsing * removing code smells * trying to plug quarter date format and cleaning code * cleaning code accordingly to SonarCloud * Fixed UI not populating correctly for rule-based styling and actions * Gantt - fixed default width/height for bars. Visible labels. Handling quarters * Updated label positions * Fixed inspect modal for Gantt chart, fixed arrow spacing between tasks * Fixed linting issues --------- Co-authored-by: Niels de Jong <[email protected]> Co-authored-by: Alfred Rubin <[email protected]> * adding in advanced config for the graph viz more graph layout config … (#690) * adding in advanced config for the graph viz more graph layout config options * added doc about the new advanced setting --------- Co-authored-by: aleksandarneo4j <[email protected]> * Adding form widget as a new extension (#568) * Added forms skeleton * Completed form skeleton * WIP on forms interface * Form framework (data entry, running, success, error) added * Added comments * Adding fields specification interface * UI for specifying individual parameter in a form * changing Dockerfile to enable args during build * fixing typo on argument in dockerfile * reverting dockerfile to older version * Rendering parameters inside the form component * Added docs for forms. Improved stability on form * Fixed warnings in console * Finished IT test for forms report * added new field to disable a parameter selector (in this way it works only with actions) * Fixed issue where parameter values were not updated on external changes * Fixed styling on freetext spinner * Workaround for clipping menu selectors in Needle * fix(rule based styling): js doing is magic with parseFloat (some strings were casted to floats event if they were just strings starting with 0 * Added save button to form create UI * removing console logs * Fix for needle dropdowns not showing on modals * Sortable list for form parameters * Improving the drag 'n drop * Iterating on form interface * Final version of forms * Disabling test * Improved robustness of form / parameter select component * Updated docs, added clear form button * removing code smells * cleaning code followign SonarCloud code smells * cleaning code followign SonarCloud code smells * removing code smells * Intelligent parameters clearing in forms --------- Co-authored-by: Alfred Rubin <[email protected]> * Model Examples and LLM improvements (#600) * now when changing database in a card the query will retrigger correctly * adding schema sampling with apoc.meta.data and changing system prompt * cleaning code and adding examples management * starting working on plugging examples to the model * examples plugged to state and to the modelClient to add the example prompy * fixed examples in modelCLient because the there was a missing edge case * added Q&A form for AI training * Updated styling, added validation * validation on q&a form (to talk with Marius about UX and styling) * watching smells on sonarqube * Question Answer form updated with tailwind and needle styling * WIP creating edit Q&A modal * working on examples modal * WIP trying to get index prop to pass for ExampleEditorModal to work properly * fix * WIP * latest * plugging modelExamples table to the state and changing folder structure * Issue with addModelExample action call * working on model examples and fixing prompt behaviour * Paginated table implemented. Needs styling. * pagination done * Added cypher code editor. No line numbers right now - would be useful. Also no label for cypher editor * Added loading button when saving, error message if cypher editor is empty upon submission, removed legacy code * latest * ready for review * changing prompt * Updated. Fixed editing. Ready for Review * fixing code smells * WIP * WIP ExampleDisplayTable2 * styling and pagination needed * table done with styling, pagination * deleted old table * code smell 2/7 check * check smells * Checking smells * moving component inside const * Table ready for review * Added initial pageSize * Fixed instructions on 'tweak model' screen * Fixed instructions on 'tweak model' screen * Got rid of show number of queries per page * checking code smells * removing useless row from task definition * changing folder names and changin from lazy import to normal on in ExtensionConfig * removing code smells * removing code smells * removing code smells * Fixed double dependency on react-table * refactoring code according to Sonarcube code smelles and fixed play button on card vie w to rerun the chatCompletion * Improved names * Usability improvements for LLM extension * Updating docs * Added docs for custom LLM examples --------- Co-authored-by: Alfred Rubin <[email protected]> Co-authored-by: jacobbleakley-neo4j <[email protected]> Co-authored-by: Niels de Jong <[email protected]> * Added release notes for 2.4 + bonus feature (keyboard shortcut to run query from the editor) (#694) * Release notes for 2.4 * Updated release notes. Added quick feature to run reports with keyboard shortcuts * Finalized release notes * Hotfix for not clearing disabled parameters in forms * Finalized release notes * Removed old gantt chart dependency * Bump docs version to 2.4 * Fixed issue with CodeMirror editor not capturing keys in Cypress test * Hotfix for automigrated tree layouts * Hotfixes for Sonarqube issues * minor fix in the forms where it wasn't getting the correct value in the settings --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Alfred Rubin <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Harold Agudelo <[email protected]> Co-authored-by: Jon Ander Oribe <[email protected]> Co-authored-by: Antônio Hugo <[email protected]> Co-authored-by: Monish <[email protected]> Co-authored-by: Aleksandar <[email protected]> Co-authored-by: aleksandarneo4j <[email protected]> Co-authored-by: alfredorubin96 <[email protected]> Co-authored-by: jacobbleakley-neo4j <[email protected]>
1 parent ae87c21 commit 31e898b

File tree

158 files changed

+7338
-1569
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+7338
-1569
lines changed

changelog.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
## NeoDash 2.4.0
2+
NeoDash 2.4 is out! 🎂 This release packs a ton of new features, as well as improvements to the existing visualizations.
3+
4+
Key new features:
5+
- A new sidebar with support for managing, save and load multiple dashboards directly from the UI.
6+
[#657](https://github.com/neo4j-labs/neodash/pull/657)
7+
- Added **Forms** as a new extension. Forms let you combine multiple parameter selectors in one card and have users edit/submit data to Neo4j. [#568](https://github.com/neo4j-labs/neodash/pull/568)
8+
- Added a new advanced visualization type: Gantt charts. [#684](https://github.com/neo4j-labs/neodash/pull/684)
9+
- Doubled the grid resolution for dashboards, giving you more freedom to arrange visualizations. [#682](https://github.com/neo4j-labs/neodash/pull/682)
10+
- Several improvements for the natural language queries extension - including customizable prompting, and faster schema retrieval. [#600](https://github.com/neo4j-labs/neodash/pull/600)
11+
12+
Other improvements:
13+
- Support for multiselect checkboxes as a report action for tables. [#688](https://github.com/neo4j-labs/neodash/pull/688/commits)
14+
- Added keyboard shortcuts (CMD/CTRL+Enter) for running Cypher queries from the editor. [#694](https://github.com/neo4j-labs/neodash/pull/694/)
15+
- Added new experimental graph layouts (trees in various directions), with customizable level distance. [#690](https://github.com/neo4j-labs/neodash/pull/690)
16+
- Increased customizability for the Pie chart's styling. [#638](https://github.com/neo4j-labs/neodash/pull/638/)
17+
- Fixed issues with parameter selector: Better handling of integer / long parameters and processing external updates. [#641](https://github.com/neo4j-labs/neodash/pull/641/)
18+
- Improvements on text readability for the experimental dark mode. [#668](https://github.com/neo4j-labs/neodash/pull/668/)
19+
- UX improvements on database connection interface. [#675](https://github.com/neo4j-labs/neodash/pull/675/)
20+
- Added option to provide a custom message when no data is returned by a report. [#683](https://github.com/neo4j-labs/neodash/pull/683/)
21+
- Fixed issue where column names were not hidden correctly. [#685](https://github.com/neo4j-labs/neodash/pull/685/commits)
22+
23+
Thanks to all the contributors for this release:
24+
[alfredorubin96](https://github.com/alfredorubin96),
25+
[AleSim94](https://github.com/AleSim94),
26+
[BennuFire](https://github.com/BennuFire),
27+
[jacobbleakley-neo4j](https://github.com/jacobbleakley-neo4j),
28+
[hugorplobo](https://github.com/hugorplobo),
29+
[brahmprakashMishra](https://github.com/brahmprakashMishra),
30+
[m-o-n-i-s-h](https://github.com/m-o-n-i-s-h),
31+
[JonanOribe](https://github.com/JonanOribe),
32+
[nielsdejong](https://github.com/nielsdejong)
33+
134
## NeoDash 2.3.5
235
This is a bugfix / stability release directly following 2.3.4.
336

cypress/e2e/start_page.cy.js

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
loadDashboardURL,
99
sankeyChartCypherQuery,
1010
gaugeChartCypherQuery,
11+
formCypherQuery,
1112
} from '../fixtures/cypher_queries';
1213

1314
const WAITING_TIME = 20000;
@@ -86,7 +87,7 @@ describe('NeoDash E2E Tests', () => {
8687
cy.get('main .react-grid-item:eq(2) .MuiDataGrid-columnHeaders', { timeout: WAITING_TIME })
8788
.should('contain', 'title')
8889
.and('contain', 'released')
89-
.and('not.contain', '__id');
90+
.and('contain', '__id');
9091
cy.get('main .react-grid-item:eq(2) .MuiDataGrid-virtualScroller .MuiDataGrid-row').should('have.length', 5);
9192
cy.get('main .react-grid-item:eq(2) .MuiDataGrid-footerContainer').should('contain', '1–5 of 8');
9293
cy.get('main .react-grid-item:eq(2) .MuiDataGrid-footerContainer button[aria-label="Go to next page"]').click();
@@ -244,13 +245,28 @@ describe('NeoDash E2E Tests', () => {
244245
cy.get('main .react-grid-item:eq(2) .MuiCardContent-root h1', { timeout: 45000 }).should('have.text', 'Hello');
245246
});
246247

247-
// it('creates a radar report', () => {
248-
// // TODO - create a test for radar.
249-
// })
248+
it.skip('creates a form report', () => {
249+
enableFormsExtension();
250+
checkInitialState();
251+
createReportOfType('Form', formCypherQuery, true, false);
252+
cy.get('main .react-grid-item:eq(2) .form-add-parameter').click();
253+
cy.wait(200);
254+
cy.get('#autocomplete-label-type').type('Movie');
255+
cy.get('#autocomplete-label-type-option-0').click();
256+
cy.wait(200);
257+
cy.get('#autocomplete-property').type('title');
258+
cy.get('#autocomplete-property-option-0').click();
250259

251-
// it('creates a sankey report', () => {
252-
// // TODO - create a test for sankey charts.
253-
// })
260+
cy.get('.ndl-dialog-close').click();
261+
262+
cy.get('main .react-grid-item:eq(2) button[aria-label="run"]').scrollIntoView().should('be.visible').click();
263+
cy.wait(500);
264+
cy.get('#autocomplete').type('The Matrix');
265+
cy.get('#autocomplete-option-0').click();
266+
cy.get('#form-submit').click();
267+
cy.wait(500);
268+
cy.get('.form-submitted-message').should('have.text', 'Form Submitted.Reset Form');
269+
});
254270

255271
// Test load stress-test dashboard from file
256272
// TODO - this test is flaky, especially in GitHub actions environment.
@@ -285,6 +301,14 @@ function enableAdvancedVisualizations() {
285301
cy.wait(200);
286302
}
287303

304+
function enableFormsExtension() {
305+
cy.get('main button[aria-label="Extensions').should('be.visible').click();
306+
cy.get('#checkbox-forms').scrollIntoView();
307+
cy.get('#checkbox-forms').should('be.visible').click();
308+
cy.get('.ndl-dialog-close').scrollIntoView().should('be.visible').click();
309+
cy.wait(200);
310+
}
311+
288312
function selectReportOfType(type) {
289313
cy.get('main .react-grid-item button[aria-label="add report"]').should('be.visible').click();
290314
cy.get('main .react-grid-item')
@@ -298,7 +322,7 @@ function selectReportOfType(type) {
298322
cy.wait(100);
299323
}
300324

301-
function createReportOfType(type, query, fast = false) {
325+
function createReportOfType(type, query, fast = false, run = true) {
302326
selectReportOfType(type);
303327
if (fast) {
304328
cy.get('main .react-grid-item:eq(2) .ReactCodeMirror').type(query, { delay: 1, parseSpecialCharSequences: false });
@@ -308,8 +332,9 @@ function createReportOfType(type, query, fast = false) {
308332
cy.wait(400);
309333

310334
cy.get('main .react-grid-item:eq(2)').contains('Advanced settings').click();
311-
312-
cy.get('main .react-grid-item:eq(2) button[aria-label="run"]').click();
335+
if (run) {
336+
cy.get('main .react-grid-item:eq(2) button[aria-label="run"]').click();
337+
}
313338
}
314339

315340
function checkInitialState() {

cypress/fixtures/cypher_queries.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ An external workflow picks up this directory, embeds it into the Neo4j docs, and
66
```
77
https://neo4j.com/labs/neodash/{version}
88
```
9-
For example: https://neo4j.com/labs/neodash/2.3
9+
For example: https://neo4j.com/labs/neodash/2.4
1010

1111
## Local Build
1212
To compile and view the documentation locally, navigate to this (`./docs`) folder and run:

docs/antora.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
name: neodash
2-
version: 2.3
2+
version: 2.4
33
title: NeoDash
44
start_page: ROOT:index.adoc
55
nav:
66
- modules/ROOT/nav.adoc
77

88
asciidoc:
99
attributes:
10-
docs-version: 2.3
10+
docs-version: 2.4
1111
page-product: NeoDash
1212
page-type: NeoDash Manual
1313
page-canonical-root: /labs
879 KB
Loading
171 KB
Loading

docs/modules/ROOT/images/forms.png

51.3 KB
Loading
59.5 KB
Loading
121 KB
Loading

0 commit comments

Comments
 (0)