josdejong/jsoneditor

Allow custom rendering of fields and values

Open

#738 opened on Jul 13, 2019

View on GitHub
 (8 comments) (4 reactions) (0 assignees)JavaScript (2,034 forks)batch import
featurehelp wanted

Repository metrics

Stars
 (10,781 stars)
PR merge metrics
 (Avg merge 15h 36m) (3 merged PRs in 30d)

Description

This topic is (indirectly) discussed here and there already. This is an explicit issue to address this feature.

It would be great to allow custom rendering of both the field (property) and values. That would allow you for example to:

The API and usage could look something like:

onRenderValue({ path, field, value, schema, onChange }) => {
  const html = document.createElement('INPUT')
  html.value = value
  html.onchange = function (event) {
    onChange(event.target.value)
  }
  
  return {
    html, 
    update: (value) => {
      html.value = value
    },
    destroy: () => { 
      // clean up any instantiated DOM stuff if needed
    }
  }
}

// onRenderField similar to onRenderValue

Contributor guide