Add basic options selection to demo

This will make it easier to test options without needing to modify the demo.
This commit is contained in:
Daniel Imms
2016-06-10 19:15:58 -07:00
parent 7c1559b8ad
commit e0c0fb6917
2 changed files with 37 additions and 12 deletions
+5 -1
View File
@@ -9,12 +9,16 @@
<script src="../addons/attach/attach.js" ></script>
<script src="../addons/fit/fit.js" ></script>
<script src="../addons/fullscreen/fullscreen.js" ></script>
<script src="main.js" defer ></script>
</head>
<body>
<h1>
xterm.js: xterm, in the browser
</h1>
<div id="terminal-container"></div>
<div>
<h2>Options</h2>
<label><input type="checkbox" id="option-cursor-blink"> cursorBlink</label>
</div>
<script src="main.js" defer ></script>
</body>
</html>
+32 -11
View File
@@ -1,11 +1,36 @@
var terminalContainer = document.getElementById('terminal-container'),
term = new Terminal(),
protocol = (location.protocol === 'https:') ? 'wss://' : 'ws://',
socketURL = protocol + location.hostname + ((location.port) ? (':' + location.port) : '') + '/bash',
socket = new WebSocket(socketURL);
var term,
protocol,
socketURL,
socket;
var terminalContainer = document.getElementById('terminal-container');
var optionElements = {
cursorBlink: document.querySelector('#option-cursor-blink')
};
optionElements.cursorBlink.addEventListener('change', createTerminal);
createTerminal();
function createTerminal() {
while (terminalContainer.children.length) {
terminalContainer.removeChild(terminalContainer.children[0]);
}
term = new Terminal({
cursorBlink: optionElements.cursorBlink.checked
});
protocol = (location.protocol === 'https:') ? 'wss://' : 'ws://';
socketURL = protocol + location.hostname + ((location.port) ? (':' + location.port) : '') + '/bash';
socket = new WebSocket(socketURL);
term.open(terminalContainer);
term.fit();
socket.onopen = runRealTerminal;
socket.onclose = runFakeTerminal;
socket.onerror = runFakeTerminal;
}
term.open(terminalContainer);
term.fit();
function runRealTerminal() {
term.attach(socket);
@@ -54,7 +79,3 @@ function runFakeTerminal() {
term.write(data);
});
}
socket.onopen = runRealTerminal;
socket.onclose = runFakeTerminal;
socket.onerror = runFakeTerminal;