GraphQL-Designer/graphqldesigner.com

PR Welcome for Store Import/Export?

Opened this issue · 3 comments

As per #220, this tool would be A LOT more valuable with a way ... any way ... to persist effort. A quick check of the code found that the entire client state is kept in a Redux store:

https://github.com/GraphQL-Designer/graphqldesigner.com/blob/master/client/store.js

If someone were to create a PR that:

  1. Added two new options to the right of "NEW PROJECT" and "EXPORT CODE" in the upper-left:
  • IMPORT STATE
  • EXPORT STATE
  1. onClick "EXPORT STATE" would serialize the current store (possibly filtering out state that doesn't need to persist), and display a modal with that state in JSON form
  2. onClick "IMPORT STATE" would prompt the user to paste in state JSON, and then would (essentially) reload the app and reinitialize the Redux store with that state (deserialized)

Obviously 1 and 2 should be pretty trivial, while 3 will require the most effort.

But before anyone does all that ... would you accept a PR that does the above?

P.S. A stretch goal would be:

  1. Add an option to save to localStorage instead of making people copy/paste JSON text

This is a must have feature.

@machineghost I am not familiar with Redux etc. Can you share your code to import and export state so I could at least modify local project and use this feature?

Thanks.

There is no code ... yet. I was just saying that hypothetically a basic implementation, like the one I described, seems very doable.