influxdata / influxdata/giraffe

Ease the responsibilities of PlotEnv

Open
#380 0 comments 0 reactions 0 assignees View on GitHub
spike team/dumplings team/ui
Dominant language
TypeScript
Stars
189
Forks
33
Avg merge
3d 15h
Merged PRs (30d)
4

Description

### Background
[`PlotEnv`](http://github.com/influxdata/giraffe/blob/master/giraffe/src/utils/usePlotEnv.ts#L14), bless its heart, is just overworked and too darn busy. It has too many responsibilities, it does too much, and it's a big coupled, tangled dependency of everything.

It's not exactly clear what needs to be done. This will be exploratory. https://miro.com/app/board/o9J_lfLL9VU=/ is a Miro board that goes a little bit into what `PlotEnv` seems to do.

### Potential Areas to Pursue

- It seems like `PlotEnv` handles generic environment configuration, and specific plot configurations for the current plot. Creating concepts for both of these and making them distinct _might_ be a good idea.

- It looks like `PlotEnv` also contains a configuration. It might be a good idea to reify this into a real concept.

- Transformations may need to be their own system, rather than something managed by `PlotEnv`

Contributor guide

Open the contributing guide

Research direction

Start by reading giraffe/src/utils/usePlotEnv.ts and reviewing the linked Miro board to map PlotEnv's responsibilities and dependencies. Explore separating environment configuration, plot configuration, configuration concepts, and transformations; done means the responsibilities and proposed boundaries are clearly defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data-visualization, frontend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.