React-based web application that enables users to visualize both property graph and RDF data and explore connections between data without having to write graph queries.
In React, systems like Recoil provide better semantics and performance than contexts and providers. Since useConfiguration() is used everywhere I'm moving it to Recoil.
The config object is still a big ball of a bunch of things (i.e. the connection, the schema, the user styles, etc). Most views and logic only need a small part of that. Over time I'll use a more targeted form of Recoil state for those places. But this PR is not that change. This is just a stepping stone toward that future.
[!NOTE]
I left the folder called /ConfigurationProvider/ because I couldn't think of a better name. There is no more React provider in that folder, but it is still providing the configuration, in a manner of speaking.
I didn't want to change its name to something Recoil specific. And I didn't want to move the folder any where else since there were other helpers in there. So I am just kicking the can down the road to future me to deal with.
Moved ConfigurationProvider logic to the useConfiguration.tsx file
Added assembledConfiguration Recoil selector
Removed ConfigurationProvider component and context
Fixed tests
Removed unused TestableRootProviders
Validation
Run tests
Basic use of the app to check for regressions
Related Issues
Part of #339
Part of #341
Check List
[x] I confirm that my contribution is made under the terms of the Apache 2.0
license.
[x] I have run pnpm checks to ensure code compiles and meets standards.
[x] I have run pnpm test to check if all tests are passing.
[x] I have covered new added functionality with unit tests if necessary.
Description
In React, systems like Recoil provide better semantics and performance than contexts and providers. Since
useConfiguration()
is used everywhere I'm moving it to Recoil.The config object is still a big ball of a bunch of things (i.e. the connection, the schema, the user styles, etc). Most views and logic only need a small part of that. Over time I'll use a more targeted form of Recoil state for those places. But this PR is not that change. This is just a stepping stone toward that future.
ConfigurationProvider
logic to theuseConfiguration.tsx
fileassembledConfiguration
Recoil selectorConfigurationProvider
component and contextTestableRootProviders
Validation
Related Issues
Check List
pnpm checks
to ensure code compiles and meets standards.pnpm test
to check if all tests are passing.Changelog.md
.