janusweb 1.5.33 → 1.5.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG +39 -0
- package/media/assets/webui/apps/avatar/avatar.js +2 -1
- package/media/assets/webui/apps/comms/voip.js +2 -4
- package/media/assets/webui/apps/editor/codemirror/addon/hint/javascript-hint.js +162 -0
- package/media/assets/webui/apps/editor/codemirror/addon/hint/show-hint.css +36 -0
- package/media/assets/webui/apps/editor/codemirror/addon/hint/show-hint.js +529 -0
- package/media/assets/webui/apps/editor/codemirror/addon/hint/xml-hint.js +140 -0
- package/media/assets/webui/apps/editor/codemirror/keymap/vim.js +5734 -0
- package/media/assets/webui/apps/editor/codemirror/lib/codemirror.css +350 -0
- package/media/assets/webui/apps/editor/codemirror/lib/codemirror.js +9800 -0
- package/media/assets/webui/apps/editor/codemirror/lib/jmldark.css +33 -0
- package/media/assets/webui/apps/editor/codemirror/mode/css/css.js +864 -0
- package/media/assets/webui/apps/editor/codemirror/mode/htmlmixed/htmlmixed.js +153 -0
- package/media/assets/webui/apps/editor/codemirror/mode/javascript/javascript.js +942 -0
- package/media/assets/webui/apps/editor/codemirror/mode/xml/xml.js +413 -0
- package/media/assets/webui/apps/editor/editor.css +3 -0
- package/media/assets/webui/apps/editor/editor.js +407 -9
- package/media/assets/webui/apps/editor/editor.json +6 -3
- package/media/assets/webui/apps/inventory/inventory.js +1 -1
- package/media/assets/webui/apps/locomotion/teleporter.js +1 -1
- package/media/assets/webui/apps/navigation/navigation.js +12 -12
- package/media/assets/webui/apps/vfs/browserfs/browserfs.js +8 -0
- package/media/assets/webui/apps/vfs/vfs.css +52 -0
- package/media/assets/webui/apps/vfs/vfs.js +452 -0
- package/media/assets/webui/apps/vfs/vfs.json +10 -0
- package/media/assets/webui/default.json +2 -1
- package/media/assets/webui/themes/default.css +29 -2
- package/package.json +2 -9
- package/scripts/client.js +64 -44
- package/scripts/elements/linesegments.js +5 -2
- package/scripts/janusbase.js +21 -9
- package/scripts/janusghost.js +0 -1
- package/scripts/janusparagraph.js +5 -3
- package/scripts/janusparticle.js +11 -12
- package/scripts/janusplayer.js +4 -4
- package/scripts/janusweb.js +21 -2
- package/scripts/janusxrplayer.js +3 -0
- package/scripts/multiplayermanager.js +3 -3
- package/scripts/object.js +159 -82
- package/scripts/portal.js +3 -5
- package/scripts/room.js +86 -44
- package/scripts/sound.js +0 -1
- package/scripts/text.js +10 -2
- package/scripts/translators/janusvfs.js +20 -0
- package/scripts/video.js +1 -1
- package/scripts/websurface.js +11 -2
- package/utils/init.sh +1 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
|
2
|
+
// Distributed under an MIT license: https://codemirror.net/LICENSE
|
|
3
|
+
|
|
4
|
+
(function(mod) {
|
|
5
|
+
if (typeof exports == "object" && typeof module == "object") // CommonJS
|
|
6
|
+
mod(require("../../lib/codemirror"), require("../xml/xml"), require("../javascript/javascript"), require("../css/css"));
|
|
7
|
+
else if (typeof define == "function" && define.amd) // AMD
|
|
8
|
+
define(["../../lib/codemirror", "../xml/xml", "../javascript/javascript", "../css/css"], mod);
|
|
9
|
+
else // Plain browser env
|
|
10
|
+
mod(CodeMirror);
|
|
11
|
+
})(function(CodeMirror) {
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
var defaultTags = {
|
|
15
|
+
script: [
|
|
16
|
+
["lang", /(javascript|babel)/i, "javascript"],
|
|
17
|
+
["type", /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i, "javascript"],
|
|
18
|
+
["type", /./, "text/plain"],
|
|
19
|
+
[null, null, "javascript"]
|
|
20
|
+
],
|
|
21
|
+
style: [
|
|
22
|
+
["lang", /^css$/i, "css"],
|
|
23
|
+
["type", /^(text\/)?(x-)?(stylesheet|css)$/i, "css"],
|
|
24
|
+
["type", /./, "text/plain"],
|
|
25
|
+
[null, null, "css"]
|
|
26
|
+
]
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
function maybeBackup(stream, pat, style) {
|
|
30
|
+
var cur = stream.current(), close = cur.search(pat);
|
|
31
|
+
if (close > -1) {
|
|
32
|
+
stream.backUp(cur.length - close);
|
|
33
|
+
} else if (cur.match(/<\/?$/)) {
|
|
34
|
+
stream.backUp(cur.length);
|
|
35
|
+
if (!stream.match(pat, false)) stream.match(cur);
|
|
36
|
+
}
|
|
37
|
+
return style;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
var attrRegexpCache = {};
|
|
41
|
+
function getAttrRegexp(attr) {
|
|
42
|
+
var regexp = attrRegexpCache[attr];
|
|
43
|
+
if (regexp) return regexp;
|
|
44
|
+
return attrRegexpCache[attr] = new RegExp("\\s+" + attr + "\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*");
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function getAttrValue(text, attr) {
|
|
48
|
+
var match = text.match(getAttrRegexp(attr))
|
|
49
|
+
return match ? /^\s*(.*?)\s*$/.exec(match[2])[1] : ""
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function getTagRegexp(tagName, anchored) {
|
|
53
|
+
return new RegExp((anchored ? "^" : "") + "<\/\\s*" + tagName + "\\s*>", "i");
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function addTags(from, to) {
|
|
57
|
+
for (var tag in from) {
|
|
58
|
+
var dest = to[tag] || (to[tag] = []);
|
|
59
|
+
var source = from[tag];
|
|
60
|
+
for (var i = source.length - 1; i >= 0; i--)
|
|
61
|
+
dest.unshift(source[i])
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function findMatchingMode(tagInfo, tagText) {
|
|
66
|
+
for (var i = 0; i < tagInfo.length; i++) {
|
|
67
|
+
var spec = tagInfo[i];
|
|
68
|
+
if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
CodeMirror.defineMode("htmlmixed", function (config, parserConfig) {
|
|
73
|
+
var htmlMode = CodeMirror.getMode(config, {
|
|
74
|
+
name: "xml",
|
|
75
|
+
htmlMode: true,
|
|
76
|
+
multilineTagIndentFactor: parserConfig.multilineTagIndentFactor,
|
|
77
|
+
multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag,
|
|
78
|
+
allowMissingTagName: parserConfig.allowMissingTagName,
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
var tags = {};
|
|
82
|
+
var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes;
|
|
83
|
+
addTags(defaultTags, tags);
|
|
84
|
+
if (configTags) addTags(configTags, tags);
|
|
85
|
+
if (configScript) for (var i = configScript.length - 1; i >= 0; i--)
|
|
86
|
+
tags.script.unshift(["type", configScript[i].matches, configScript[i].mode])
|
|
87
|
+
|
|
88
|
+
function html(stream, state) {
|
|
89
|
+
var style = htmlMode.token(stream, state.htmlState), tag = /\btag\b/.test(style), tagName
|
|
90
|
+
if (tag && !/[<>\s\/]/.test(stream.current()) &&
|
|
91
|
+
(tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) &&
|
|
92
|
+
tags.hasOwnProperty(tagName)) {
|
|
93
|
+
state.inTag = tagName + " "
|
|
94
|
+
} else if (state.inTag && tag && />$/.test(stream.current())) {
|
|
95
|
+
var inTag = /^([\S]+) (.*)/.exec(state.inTag)
|
|
96
|
+
state.inTag = null
|
|
97
|
+
var modeSpec = stream.current() == ">" && findMatchingMode(tags[inTag[1]], inTag[2])
|
|
98
|
+
var mode = CodeMirror.getMode(config, modeSpec)
|
|
99
|
+
var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false);
|
|
100
|
+
state.token = function (stream, state) {
|
|
101
|
+
if (stream.match(endTagA, false)) {
|
|
102
|
+
state.token = html;
|
|
103
|
+
state.localState = state.localMode = null;
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState));
|
|
107
|
+
};
|
|
108
|
+
state.localMode = mode;
|
|
109
|
+
state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, "", ""));
|
|
110
|
+
} else if (state.inTag) {
|
|
111
|
+
state.inTag += stream.current()
|
|
112
|
+
if (stream.eol()) state.inTag += " "
|
|
113
|
+
}
|
|
114
|
+
return style;
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
return {
|
|
118
|
+
startState: function () {
|
|
119
|
+
var state = CodeMirror.startState(htmlMode);
|
|
120
|
+
return {token: html, inTag: null, localMode: null, localState: null, htmlState: state};
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
copyState: function (state) {
|
|
124
|
+
var local;
|
|
125
|
+
if (state.localState) {
|
|
126
|
+
local = CodeMirror.copyState(state.localMode, state.localState);
|
|
127
|
+
}
|
|
128
|
+
return {token: state.token, inTag: state.inTag,
|
|
129
|
+
localMode: state.localMode, localState: local,
|
|
130
|
+
htmlState: CodeMirror.copyState(htmlMode, state.htmlState)};
|
|
131
|
+
},
|
|
132
|
+
|
|
133
|
+
token: function (stream, state) {
|
|
134
|
+
return state.token(stream, state);
|
|
135
|
+
},
|
|
136
|
+
|
|
137
|
+
indent: function (state, textAfter, line) {
|
|
138
|
+
if (!state.localMode || /^\s*<\//.test(textAfter))
|
|
139
|
+
return htmlMode.indent(state.htmlState, textAfter, line);
|
|
140
|
+
else if (state.localMode.indent)
|
|
141
|
+
return state.localMode.indent(state.localState, textAfter, line);
|
|
142
|
+
else
|
|
143
|
+
return CodeMirror.Pass;
|
|
144
|
+
},
|
|
145
|
+
|
|
146
|
+
innerMode: function (state) {
|
|
147
|
+
return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode};
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
}, "xml", "javascript", "css");
|
|
151
|
+
|
|
152
|
+
CodeMirror.defineMIME("text/html", "htmlmixed");
|
|
153
|
+
});
|