josdejong/jsoneditor

Allow custom rendering of fields and values

Open

#738 opened on Jul 13, 2019

 (8 comments) (4 reactions) (0 assignees)JavaScript (2,078 forks)batch import
featurehelp wanted

Repository metrics

Stars
 (12,263 stars)
PR merge metrics
 (PR metrics pending)

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