forked from nickdesaulniers/joshVR
/
editor.js
40 lines (35 loc) · 857 Bytes
/
editor.js
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
var defaultText = [
'<scene>',
' <group translateY="1.0" rotateY="0.78">',
' <cube scaleX="2.75" translateY="1.0"/>',
' <sphere translateX="1.0"/>',
' <sphere translateX="-1.0"/>',
' </group>',
'</scene>'
].join('\n');
var doc = CodeMirror(document.getElementById('leftColumn'), {
lineNumbers: true,
mode: 'xml',
value: defaultText,
theme: 'monokai',
});
var skipOneUpdateFlag = false;
var serializer = new XMLSerializer;
function writeBack (xmlDocument) {
return function () {
skipOneUpdateFlag = true;
doc.setValue(serializer.serializeToString(xmlDocument));
};
};
function writeBackCausedUpdate () {
if (skipOneUpdateFlag) {
skipOneUpdateFlag = false;
return true;
}
return false;
};
module.exports = {
doc: doc,
writeBack: writeBack,
writeBackCausedUpdate: writeBackCausedUpdate,
};