-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheditor.js
More file actions
49 lines (42 loc) · 1.09 KB
/
editor.js
File metadata and controls
49 lines (42 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { loadJSONData, saveJSONData } from './data';
const codeContainer = document.getElementById("codeEditor");
const treeContainer = document.getElementById("treeEditor");
const treeOptions = {
mode: 'tree',
onChange: function () {
try {
const data = treeEditor.get();
saveJSONData(data);
codeEditor.set(data);
} catch (e) {
// codeEditor.set({});
}
}
};
const treeEditor = new JSONEditor(treeContainer, treeOptions);
const codeOptions = {
mode: 'code',
onError: function (err) {
alert(err.toString());
},
onChange: function () {
try {
const data = codeEditor.get();
saveJSONData(data);
treeEditor.set(data);
} catch (e) {
// treeEditor.set({});
}
}
};
const codeEditor = new JSONEditor(codeContainer, codeOptions);
const initData = loadJSONData();
codeEditor.set(initData);
treeEditor.set(initData);
function updateEditorData(data) {
const fn = typeof data !== 'string' ? 'set' : 'setText';
codeEditor[fn](data);
treeEditor[fn](data);
saveJSONData(data);
}
export { treeEditor, codeEditor, updateEditorData };