2014-05-30 00:35:39 +08:00
|
|
|
<!DOCTYPE HTML>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
|
|
|
|
2014-05-30 04:13:37 +08:00
|
|
|
<!-- require.js -->
|
|
|
|
<script src="require.js"></script>
|
|
|
|
<script>
|
|
|
|
require.config({
|
|
|
|
packages: [
|
|
|
|
{
|
|
|
|
name: 'JSONEditor',
|
|
|
|
location: '../src/js/',
|
|
|
|
main: 'JSONEditor'
|
|
|
|
}
|
2014-05-30 04:35:47 +08:00
|
|
|
],
|
|
|
|
paths: {
|
|
|
|
'theme-jsoneditor.js': '../src/js/ace/theme-jsoneditor.js'
|
|
|
|
}
|
2014-05-30 04:13:37 +08:00
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
2014-05-30 00:51:17 +08:00
|
|
|
<!-- json editor -->
|
2014-05-30 00:35:39 +08:00
|
|
|
<link rel="stylesheet" type="text/css" href="../jsoneditor.css">
|
|
|
|
|
2014-05-30 00:51:17 +08:00
|
|
|
<!-- ace editor -->
|
2014-05-30 04:35:47 +08:00
|
|
|
<script type="text/javascript" src="../asset/ace/ace.js"></script>
|
2014-05-30 00:35:39 +08:00
|
|
|
|
|
|
|
<!-- json lint -->
|
2014-05-30 04:35:47 +08:00
|
|
|
<script type="text/javascript" src="../asset/jsonlint/jsonlint.js"></script>
|
2014-05-30 00:35:39 +08:00
|
|
|
|
|
|
|
<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 type="text/javascript" >
|
2014-05-30 04:13:37 +08:00
|
|
|
var container, options, json, editor;
|
2014-05-30 00:35:39 +08:00
|
|
|
|
2014-05-30 04:13:37 +08:00
|
|
|
require(['JSONEditor'], function (JSONEditor) {
|
|
|
|
container = document.getElementById('jsoneditor');
|
|
|
|
|
|
|
|
options = {
|
|
|
|
mode: 'tree',
|
|
|
|
modes: ['code', 'form', 'text', 'tree', 'view'], // allowed modes
|
|
|
|
error: function (err) {
|
|
|
|
alert(err.toString());
|
2014-07-27 21:46:42 +08:00
|
|
|
},
|
|
|
|
editable: function (node) {
|
|
|
|
console.log(node);
|
|
|
|
switch(node.field) {
|
|
|
|
case '_id':
|
|
|
|
return false;
|
|
|
|
|
|
|
|
case '_field':
|
|
|
|
return {
|
|
|
|
field: false,
|
|
|
|
value: true
|
|
|
|
};
|
|
|
|
|
|
|
|
default:
|
|
|
|
return true;
|
|
|
|
}
|
2014-05-30 04:13:37 +08:00
|
|
|
}
|
|
|
|
};
|
2014-05-30 00:35:39 +08:00
|
|
|
|
2014-05-30 04:13:37 +08:00
|
|
|
json = {
|
2014-07-27 21:46:42 +08:00
|
|
|
"_id": "1234",
|
|
|
|
"_field": "ABCD",
|
2014-05-30 04:13:37 +08:00
|
|
|
"array": [1, 2, 3],
|
|
|
|
"boolean": true,
|
|
|
|
"null": null,
|
|
|
|
"number": 123,
|
|
|
|
"object": {"a": "b", "c": "d"},
|
2014-07-27 21:46:42 +08:00
|
|
|
"string": "Hello World",
|
|
|
|
"url": "http://jsoneditorononline.org"
|
2014-05-30 04:13:37 +08:00
|
|
|
};
|
2014-05-30 00:35:39 +08:00
|
|
|
|
2014-05-30 04:13:37 +08:00
|
|
|
editor = new JSONEditor(container, options, json);
|
|
|
|
});
|
2014-05-30 00:35:39 +08:00
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|