Skip to content

Integrate Lexical editor into Details Pane #54

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

Open
wants to merge 47 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
a410d13
Add documentation CI/CD (#1)
QubitPi Apr 20, 2023
87aaf77
Do not release to npm as a fork (#3)
QubitPi May 22, 2023
b4517b9
Initiate internal doc (#2)
QubitPi Jun 6, 2023
6ef75ca
Add more docs on neo4j-browser internals (#4)
QubitPi Jun 12, 2023
d08a90c
Update documentation (#5)
QubitPi Jul 7, 2023
c867063
Document how to include both nodes and links in JSON export (#6)
QubitPi Sep 23, 2023
d75a917
Support double-clicking canvas creates new node (#7)
QubitPi Oct 5, 2023
3484dc6
Fetch both nodes and links unlimited in initial graph rendering (#14)
QubitPi Oct 25, 2023
7c45df0
Make node label and properties editable inspector panel (#15)
QubitPi Oct 25, 2023
98b9f45
Support creating relationship on canvas by alt-clicking two nodes and…
QubitPi Oct 25, 2023
363d333
Show isolated nodes in 'SELECT *' (#16)
QubitPi Oct 26, 2023
3b586d2
Publish graphing module to NPM (#17)
QubitPi Nov 19, 2023
59ae346
Publishing neo4j-arc requires manually bumping version (#18)
QubitPi Nov 19, 2023
cc8b6f2
Add documentation on neo4j-arc basic usage from outside & Support re-…
QubitPi Nov 20, 2023
1ded0fc
Notify user the required node version for running neo4j-browser (#20)
QubitPi Nov 21, 2023
56e25fd
NodeInspectorPanel shows by default but can be turned-off by option (…
QubitPi Nov 21, 2023
bdc678d
neo4j-arc should be node/rel-ID agnostic (#22)
QubitPi Nov 22, 2023
309c8eb
Update NPM link for fork (#23)
QubitPi Nov 22, 2023
21e1a78
Fix broken tests in order to keep in sync with upstream (#24)
QubitPi Nov 22, 2023
5484bde
Add documentation explaining Suber (v.s. Redux) (#25)
QubitPi Nov 22, 2023
bd0c9f5
On-canvas node creation is done by sending message only (#26)
QubitPi Nov 22, 2023
0604917
Rollback #14 but keep # returns unlimited (#27)
QubitPi Nov 23, 2023
fdfdbef
Document 'browser-password' (#28)
QubitPi Nov 23, 2023
7b7cabc
Enhance documentation (#29)
QubitPi Nov 23, 2023
626545c
Remove package-lock.json (#34)
QubitPi Nov 24, 2023
e71db99
Bump browser TS version to 4.x by aligning browser TS version with ne…
QubitPi Nov 24, 2023
c36b2d7
Initialize i18n support and apply it onto OverviewPane (#31)
QubitPi Nov 24, 2023
2f5d86f
Enhance documentation (#35)
QubitPi Nov 24, 2023
e383cd4
Push i18n resources down to neo4j-arc library (#37)
QubitPi Nov 25, 2023
bc1676a
Add documentation on different strategies for loading translations (#38)
QubitPi Nov 25, 2023
543ec92
Auto detect and set language (#40)
QubitPi Nov 26, 2023
5e51268
Document neo4j-arc theming customization (#39)
QubitPi Nov 26, 2023
2b21a67
On-canvas relationship creation is done by sending message only (#41)
QubitPi Nov 27, 2023
3c7fc86
Supress context menu while alt-clicking node during on-canvas rel-cre…
QubitPi Nov 27, 2023
bf9c7bb
Details pane title shows node/rel caption instead (#43)
QubitPi Nov 27, 2023
ceadf3b
Make details pane title editable (#44)
QubitPi Dec 4, 2023
6b5d7f3
Update trigger graph interaction callback on pressing ENTER only (#45)
QubitPi Dec 7, 2023
6acde3e
Unify node and rel prop editing (#46)
QubitPi Dec 7, 2023
81b2a30
Include rel ID in messaging for rel type editing (#47)
QubitPi Dec 7, 2023
e69c560
Add interaction API documentation (#48)
QubitPi Dec 8, 2023
f130043
Pressing 'Enter' should not insert a new line for direct properties e…
QubitPi Dec 8, 2023
e22828f
Complete E2E tests on on-canvas & node inspector panel editing (#50)
QubitPi Dec 8, 2023
3c3aabb
Add data-testid for relationship type label in DefaultDetailsPane (#51)
QubitPi Dec 11, 2023
98db403
Optionally turn-off properties table in (Default)DetailsPane (#52)
QubitPi Dec 11, 2023
b25f120
Add documentation for #51 & #52 (#53)
QubitPi Dec 11, 2023
85bdf36
Integrate Lexical editor into Details Pane
QubitPi Dec 19, 2023
4fd4c78
Lexical should be in neo4j-arc package
QubitPi Dec 22, 2023
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
22 changes: 22 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,25 @@ BEFORE YOU SUBMIT make sure you've done the following:
More details on contributing can be found in CONTRIBUTING.md in the root of this repository. Thank you for your time and interest in the Neo4j Browser!
-->

Changelog
---------

### Added

### Changed

### Deprecated

### Removed

### Fixed

### Security

Checklist
---------

* [ ] Test
* [ ] Self-review
* [ ] Documentation
* [ ] (neo4j-arc) Manually bump version
Binary file added .github/browser-password.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 1 addition & 6 deletions .github/workflows/release-arc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,14 @@ on:
jobs:
build:
runs-on: ubuntu-latest
environment: Publish
steps:
- uses: actions/checkout@v2
with:
repository: neo4j/neo4j-browser
# Setup .npmrc file to publish to npm
repository: QubitPi/neo4j-browser
- uses: actions/setup-node@v2
with:
registry-url: 'https://registry.npmjs.org'
# Defaults to the user or organization that owns the workflow file
scope: '@neo4j-devtools'
- run: npm -g install yarn
# - run: yarn test
- run: yarn install --frozen-lockfile
- run: yarn build
- uses: JS-DevTools/npm-publish@v1
Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/release-doc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright 2023 Jiaqi Liu
# Licensed under the terms of the GNU General Public License. Please see LICENSE file distributed with this work for terms.
---
name: Release

"on":
pull_request:
push:
branches:
- master

jobs:
release-documentation:
name: Deploy Documentation to GitHub Pages
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
defaults:
run:
working-directory: docs
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm install
- run: npm run build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/build/site
user_name: QubitPi
user_email: [email protected]
40 changes: 34 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Neo4j Browser
# Neo4j Browser <sup>![Node Version Badge is Missing][node version badge] ![Ts Version Badge is Missing][ts version badge]</sup>

[![npm registry][npm registry]](https://www.npmjs.com/package/neo4j-devtools-arc)
![Translation Badge is Missing][translation badge]

Neo4j Browser is the general purpose graphical user interface for Neo4j. Query, visualize, administer and monitor the database with modern and easy-to-use tools.

Expand All @@ -22,10 +25,21 @@ Contributions welcome! More information in our [CONTRIBUTING.md](CONTRIBUTING.md

Browser has a subproject of re-usable components bundled together and exposed as `neo4j-arc`. Rather than set up mono-repo tooling the we've set up eslint to isolate `neo4j-arc` and given it a seperate build step. Code in browser can only to import code from `neo4j-arc` through `neo4j-arc` aliases (as if it was a seperate project) and `neo4j-arc` is not allowed to import any code from outside it's own folder.

## Development
## Development <sup>![Ts Version Badge is Missing][ts version badge]</sup>

> There are 2 parts within this project
>
> 1. [browser](./src/browser)
> 2. re-usable graphing library, i.e. [neo4j-arc](./src/neo4j-arc)
>
> Each mantains a separate TS version. **Browser's TS version has to align with neo4j-arc's by setting a fixed version
> at latter's lower bound**. For example, if neo4j-arc's typescript version is `"typescript": "^4.6.2"`, then the
> browser's has be to the exact version of `"typescript": "4.6.2"`

Running Neo4j Browser locally requires Node.js 16 and for dependencies we use yarn (`npm install -g yarn`). To install
dependencies and then start the development server at `http://localhost:8080`:

Running Neo4j Browser locally requires Node.js (^12.4.0) and for dependencies we use yarn (`npm install -g yarn`).
To install dependencies and then start the development server at `http://localhost:8080`:
> To switch node version with a version manager, please try [nvm](https://qubitpi.github.io/hashicorp-aws/blog/nvm)

```shell
yarn install
Expand All @@ -42,7 +56,7 @@ yarn start-prod

Neo4j Browser has both unit and end to end tests running automatically on every pull request. To run the tests locally:

`yarn test-unit` runs a linter and then our unit tests.
`yarn jest` runs our unit tests.

`yarn test-e2e` runs our Cypress end to end tests in the easiest, slowest way. Running them with this command requires docker installed and that nothing else runs on ports 7687 and 8080.

Expand All @@ -51,7 +65,14 @@ Neo4j Browser has both unit and end to end tests running automatically on every
`yarn e2e-open` to open the Cypress test runner (requires a **fresh** installation of Neo4j to run against, expects neo4j 3.5 by default). See details below on how to configure database version.

`yarn e2e-local-open` to run against an existing server (with a password already set). We use `newpassword` as the default password here, make sure to pass your password:
`yarn e2e-local-open --env browser-password=<your-password-here>`

```
yarn e2e-local-open --env browser-password=<your-password-here>
```

The name `browser-password` is a bit misleading. It's actually the password for connecting to Neo4j we just mentioned via bolt portocol, i.e. the "password" input in the image below:

![browser password screenshot](./.github/browser-password.png)

To avoid opening the Cypress test runner and just run the tests in the terminal, remove the "-open" suffix from the previous two commands (so `yarn e2e` and `yarn e2e-local` respectively).

Expand All @@ -77,3 +98,10 @@ CYPRESS_BASE_URL=<url to reach the browser to test> (default http://localhost:80
```

Example: `CYPRESS_E2E_TEST_ENV="local" CYPRESS_BASE_URL=http://localhost:30000 cypress open --env server=4.2`

[node version badge]: https://img.shields.io/badge/NODE-≥16%20<18.0.0-339933?logo=Node.js&logoColor=white&labelColor=66cc33&style=for-the-badge
[npm registry]: https://img.shields.io/npm/v/neo4j-devtools-arc?logo=npm&style=for-the-badge

[ts version badge]: https://img.shields.io/badge/TypeScript-≥4.6.2-3178C6?style=for-the-badge&logo=typescript&logoColor=white&labelColor=358EF1

[translation badge]: https://img.shields.io/badge/Languages%20Supported-en,zh--cn-brightgreen?style=for-the-badge&logo=googletranslate&logoColor=white&labelColor=4285F4
8 changes: 8 additions & 0 deletions docs/modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,13 @@
** xref:operations/rest-requests.adoc[]
** xref:operations/browser-rbac-count.adoc[]
** xref:operations/product-analytics.adoc[]
** xref:operations/on-canvas-operations.adoc[]

* xref:reference-commands.adoc[Command reference]

* xref:neo4j-arc/index.adoc[Neo4J Arc]
** xref:neo4j-arc/i18n.adoc[]
** xref:neo4j-arc/themes.adoc[]
** xref:neo4j-arc/internals.adoc[]
** xref:neo4j-arc/graph-modelling.adoc[]
** xref:neo4j-arc/graph-interactions.adoc[]
Binary file added docs/modules/ROOT/images/basic-example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading