In 2.3.0 the Tree view was completely rebuilt using React and renamed to Grid. Here is a primer on the new technologies used:
The most popular javascript framework for building user interfaces with reusable components. Written as javascript and html together in .jsx
files. In-component state can be managed via useState()
, application state that spans many components can be managed via a context provider (see /context
for examples), API state can be managed by React Query (see below)
A good component and helper function library. Tooltips, modals, toasts, switches, etc are all out of the box Styles are applied via global theme when initializing the app or inline with individual components like <Box padding="5px" />
A powerful async data handler that makes it easy to manage loading/error states as well as caching, refetching, background updates, etc. This is our state management for any data that comes from an API. Each API request is its own hook. Ie useTasks
will get all the tasks for a DAG
Easily write tests for react components and hooks