graphqldesigner.com icon indicating copy to clipboard operation
graphqldesigner.com copied to clipboard

PR Welcome for Store Import/Export?

Open machineghost opened this issue 4 years ago • 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?

machineghost avatar Nov 08 '19 16:11 machineghost

P.S. A stretch goal would be:

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

machineghost avatar Nov 08 '19 16:11 machineghost

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.

sido420 avatar Jan 06 '20 03:01 sido420

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

machineghost avatar Jan 06 '20 05:01 machineghost