question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Interest in extracting ui and schema mapping into shared dependency library?

See original GitHub issue

This is a question not an issue.

I’m working on a similar project (using vue) and have seen a couple of examples of the UISchema concept implemented now. Due to this, my priorities have shifted to include being consistent with one or more of those other projects and so extracting logic that handles “widget” mapping seems to be a high priority given those goals.

I’m sure we can all agree there are some complexities around mapping JSON Schema properties to HTML tags like input type= and others like textarea, and select for instance – while also making this nicely declarative and extensible for developers using the library.

After doing a first pass and then thinking through the concepts further, my plan has shifted to adapting the logic that’s available within this library into a more general case dependency library that can take a JSON Schema and build that into a consistent and flexible UI mapping.

What are the teams thoughts on collaborating on this or having a conversation with other developers to see if there’s a way to gain some consistency and definition around the UISchema concept that seems to have a couple of flavors at the moment?

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:6
  • Comments:13 (7 by maintainers)

github_iconTop GitHub Comments

5reactions
timkindbergcommented, Feb 18, 2020

Really wish this was a thing right now.

I think there needs to be a framework-agnostic and headless jsonschema-ui library.

The libs job would not include ANY UI rendering of any sort, it would simply return the data needed to render the UI. This coupling of bootstrap to rjsf is hurting it bigtime. A Bootstrap theme should be another npm package built on top of this headless package.

How much effort would be involved to decouple the UI rendering from the schema parsing?

2reactions
loganvolkerscommented, Jul 11, 2019

A couple things on this issue:

  1. There is another very popular JSON Schema editor maintained mostly by @pmk65 here: https://github.com/json-editor/json-editor

  2. The problem with embedding UI Schema into the JSON Schema is that it can result in non-valid JSON schemas that won’t pass validation. This was a problem with json-editor/json-editor

  3. The benefit of separating UI Schema is that you can create a separate UIs for the same JSON Schema. 1 JSON Schema and 2 UI Schemas --> 2 forms.

Items 2 and 3 are why we migrated to using this project instead of the json-editor listed in 1.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Bountysource
Interest in extracting ui and schema mapping into shared dependency library ?
Read more >
Choosing the project structure when you create a message map
You can have any schema definition that is used in the map in a shared library project and the map in a different...
Read more >
Code reuse in microservices architecture - with Spring Boot
In most microservice architectures, there are many opportunities and temptations for sharing code. In this post I will give advice based on ...
Read more >
Receiving simple data from other apps - Android Developers
An Activity with a matching intent-filter tag in the manifest; One or more ChooserTarget objects returned by your ChooserTargetService; Sharing Shortcuts ...
Read more >
How To Visualize Databases as Network Graphs in Python
Note that, in the interest of being concise and focusing on the important ... schema table into a pandas (imported as pd )...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found