Implemented option onError
This commit is contained in:
parent
804c68010f
commit
0c3faa03ea
|
@ -18,12 +18,12 @@ export default class TextMode extends Component {
|
|||
h('button', {
|
||||
class: 'jsoneditor-format',
|
||||
title: 'Format the JSON document',
|
||||
onClick: this.format
|
||||
onClick: this.handleFormat
|
||||
}),
|
||||
h('button', {
|
||||
class: 'jsoneditor-compact',
|
||||
title: 'Compact the JSON document',
|
||||
onClick: this.compact
|
||||
onClick: this.handleCompact
|
||||
})
|
||||
// TODO: implement a button "Fix JSON"
|
||||
]),
|
||||
|
@ -58,10 +58,40 @@ export default class TextMode extends Component {
|
|||
})
|
||||
}
|
||||
|
||||
/** @private */
|
||||
handleFormat = () => {
|
||||
try {
|
||||
this.format()
|
||||
}
|
||||
catch (err) {
|
||||
this.handleError(err)
|
||||
}
|
||||
}
|
||||
|
||||
/** @private */
|
||||
handleCompact = () => {
|
||||
try {
|
||||
this.compact()
|
||||
}
|
||||
catch (err) {
|
||||
this.handleError(err)
|
||||
}
|
||||
}
|
||||
|
||||
/** @private */
|
||||
handleError (err) {
|
||||
if (this.props.options && this.props.options.onError) {
|
||||
this.props.options.onError(err)
|
||||
}
|
||||
else {
|
||||
console.error(err)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the json
|
||||
*/
|
||||
format = () => {
|
||||
format () {
|
||||
var json = this.get()
|
||||
var text = JSON.stringify(json, null, this.getIndentation())
|
||||
this.setText(text)
|
||||
|
@ -70,7 +100,7 @@ export default class TextMode extends Component {
|
|||
/**
|
||||
* Compact the json
|
||||
*/
|
||||
compact = () => {
|
||||
compact () {
|
||||
var json = this.get()
|
||||
var text = JSON.stringify(json)
|
||||
this.setText(text)
|
||||
|
|
|
@ -37,7 +37,10 @@
|
|||
window.patch = patch
|
||||
window.revert = revert
|
||||
},
|
||||
// mode: 'text',
|
||||
onError: function (err) {
|
||||
console.error(err)
|
||||
alert(err)
|
||||
},
|
||||
indentation: 4
|
||||
}
|
||||
const editor = jsoneditor(container, options)
|
||||
|
|
|
@ -25,7 +25,10 @@
|
|||
* @typedef {Array.<{op: string, path?: string, from?: string, value?: *}>} JSONPatch
|
||||
*
|
||||
* @typedef {{
|
||||
* mode: 'tree' | 'text'
|
||||
* mode: 'tree' | 'text',
|
||||
* indentation: number | string,
|
||||
* onChange: function (patch: JSONPatch, revert: JSONPatch),
|
||||
* onError: function (err: Error)
|
||||
* }} Options
|
||||
*
|
||||
* @typedef {{
|
||||
|
|
Loading…
Reference in New Issue