74 lines
1.6 KiB
HTML
74 lines
1.6 KiB
HTML
<!DOCTYPE HTML>
|
|
<html lang="en">
|
|
<head>
|
|
<!-- when using the mode "code", it's important to specify charset utf-8 -->
|
|
<meta charset="utf-8">
|
|
|
|
<title>JSONEditor | Switch mode</title>
|
|
|
|
<link href="../dist/jsoneditor.css" rel="stylesheet" type="text/css">
|
|
<script src="../dist/jsoneditor.js"></script>
|
|
|
|
<style type="text/css">
|
|
body {
|
|
font: 10.5pt arial;
|
|
color: #4d4d4d;
|
|
line-height: 150%;
|
|
width: 500px;
|
|
}
|
|
|
|
code {
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
#jsoneditor {
|
|
width: 500px;
|
|
height: 500px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<p>
|
|
Switch editor mode using the mode box.
|
|
Note that the mode can be changed programmatically as well using the method
|
|
<code>editor.setMode(mode)</code>, try it in the console of your browser.
|
|
</p>
|
|
|
|
<div id="jsoneditor"></div>
|
|
|
|
<script>
|
|
const container = document.getElementById('jsoneditor')
|
|
|
|
const options = {
|
|
mode: 'text',
|
|
modes: ['text', 'code'],
|
|
onEditable: function (node) {
|
|
if (!node.path) {
|
|
// In modes code and text, node is empty: no path, field, or value
|
|
// returning false makes the text area read-only
|
|
return false;
|
|
}
|
|
},
|
|
onError: function (err) {
|
|
alert(err.toString())
|
|
},
|
|
onModeChange: function (newMode, oldMode) {
|
|
console.log('Mode switched from', oldMode, 'to', newMode)
|
|
}
|
|
}
|
|
|
|
const json = {
|
|
"array": [1, 2, 3],
|
|
"boolean": true,
|
|
"null": null,
|
|
"number": 123,
|
|
"object": {"a": "b", "c": "d"},
|
|
"string": "Hello World"
|
|
}
|
|
|
|
const editor = new JSONEditor(container, options, json)
|
|
</script>
|
|
</body>
|
|
</html>
|