UNPKG

ember-jsoneditor

Version:

Ember component to view, edit and format JSON.

106 lines (71 loc) 3.4 kB
ember-jsoneditor [![npm version](https://badge.fury.io/js/ember-jsoneditor.svg)](http://badge.fury.io/js/ember-jsoneditor) ============================================================================== > Ember component for [JSON Editor](https://github.com/josdejong/jsoneditor/) to view, edit and format JSON. **Live demo**: http://glavin001.github.io/ember-jsoneditor/ Compatibility ------------------------------------------------------------------------------ * Ember.js v3.4 or above * Ember CLI v2.13 or above * Node.js v10 or above Previous versions compatibility * ember-json-editor v9.3 - Ember.js 2.4 and above Installation ------------------------------------------------------------------------------ ``` ember install ember-jsoneditor ``` Usage ------------------------------------------------------------------------------ ```handlebars <JsonEditor @json={{this.model}} @mode={{this.mode}} @name={{this.name}} /> ``` For Ember versions < 3.4, you need to use classic component invocation: ```handlebars {{json-editor json=model mode=mode name=name}} ``` For a complete example, see the [dummy test app in `tests/dummy/app/`](https://github.com/Glavin001/ember-jsoneditor/tree/master/tests/dummy/app). ## Documentation See [jsoneditor](https://github.com/josdejong/jsoneditor/blob/master/docs/api.md) for configuration details. ember-jsoneditor supports the following jsoneditor options: Option | Description | Default ------------|-----------------------------------------------------------------------------------|------------ change | maps to jsoneditor's onChange event | null error | maps to jsoneditor's onError event | null expand | if true, renders with json tree expanded | false history | Enables history undo/redo button | true indentation | number of indentation spaces | 2 mode | Editor mode - modes | tree modes | Drop down to select editor mode. Options: 'tree', 'view', 'form', 'code', 'text' | All options name | Field name for the JSON root node, | null search | boolean - show editor search box | true Example using event options ```handlebars {{!-- app/templates/application.hbs --}} <JsonEditor @json={{this.model}} @mode={{this.mode}} @name={{this.name}} @change={{action 'itChanged'}} @error={{action 'myError'}} /> ``` ```javascript // app/controllers/application.js import Controller from '@ember/controller'; export default Controller.extend({ /// .... actions: { myError(error){ alert(`Error: ${error}`) }, itChanged() { alert("The Data Changed!"); } } }) ``` Contributing ------------------------------------------------------------------------------ See the [Contributing](CONTRIBUTING.md) guide for details. License ------------------------------------------------------------------------------ This project is licensed under the [MIT License](LICENSE.md).