On 02/04/2016 05:47 PM, Jose Ricardo Ziviani wrote:
- This is the screen that opens when the client requests the
serial
console, basically a textarea and a websocket that communicates
with the server (through websockify) in order to send/receive
data from a guest serial console.
Signed-off-by: Jose Ricardo Ziviani <joserz(a)linux.vnet.ibm.com>
---
ui/serial/images/favicon.ico | Bin 0 -> 15086 bytes
ui/serial/images/logo-white.png | Bin 0 -> 7583 bytes
Where did those images come from? From Wok repo?
ui/serial/serial.html | 80 +
ui/serial/term.js | 5973 +++++++++++++++++++++++++++++++++++++++
4 files changed, 6053 insertions(+)
create mode 100644 ui/serial/images/favicon.ico
create mode 100644 ui/serial/images/logo-white.png
create mode 100644 ui/serial/serial.html
create mode 100644 ui/serial/term.js
diff --git a/ui/serial/serial.html b/ui/serial/serial.html
new file mode 100644
index 0000000..a81d0ee
--- /dev/null
+++ b/ui/serial/serial.html
License header is missing.
@@ -0,0 +1,80 @@
+<!doctype html>
+<html>
+ <head>
+ <title>Kimchi Serial Console</title>
+ <!--[if IE lte 9]><link rel="shortcut icon"
href="images/favicon.ico"><![endif]-->
+ <link rel="shortcut icon" href="images/favicon.png">
+ <style>
+ html {
+ background-color: #3A393B;
+ }
+
+ body {
+ width: 50%;
+ height: 60%;
+ margin-left: auto;
+ margin-right: auto;
+ }
+
+ .terminal {
+ width: 100%;
+ height: 100%;
+ border: #000 solid 3px;
+ font-family: "DejaVu Sans Mono", "Liberation Mono",
monospace;
+ font-size: 16px;
+ color: #f0f0f0;
+ background: #000;
+ }
+
+ .terminal-cursor {
+ color: #000;
+ background: #f0f0f0;
+ }
+ </style>
+ <script src="term.js"></script>
+ <script>
+ ;(function() {
+ window.onload = function() {
+ var params = new Map()
+ var query_string = window.location.href.split('?');
+ for (var i = 1; i < query_string.length; i++) {
+ query_string[i].split('&').forEach(function(val) {
+ param = val.split('=');
+ params.set(param[0], param[1]);
+ });
+ }
+
+ var url = 'wss://' + window.location.hostname + ':' +
params.get('port');
+ url += '/' + params.get('path');
+ url += '?token=' + params.get('token');
+ var socket = new WebSocket(url, ['base64']);
+ var term = new Terminal({
+ cols: 80,
+ rows: 35,
+ useStyle: true,
+ screenKeys: true,
+ cursorBlink: true
+ });
+
+ term.on('data', function(data) {
+ socket.send(window.btoa(data));
+ });
+
+ socket.onopen = function() {
+ socket.send(window.btoa('\n'));
+ };
+
+ socket.onmessage = function(event) {
+ var message = event.data;
+ term.write(window.atob(message));
+ };
+
+ term.open(document.body);
+ };
+ }).call(this);
+ //# sourceURL=serial.js
Remove the commented line
+ </script>
+ </head>
+ <body>
+ </body>
+</html>
diff --git a/ui/serial/term.js b/ui/serial/term.js
As it is an imported code it is better to have it in a separated commit.
That way, we can easily know which files are imported or not.
new file mode 100644
index 0000000..f542dd0
--- /dev/null
+++ b/ui/serial/term.js
@@ -0,0 +1,5973 @@
+/**
+ * term.js - an xterm emulator
+ * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
+ *
https://github.com/chjj/term.js
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ * Originally forked from (with the author's permission):
+ * Fabrice Bellard's javascript vt100 for jslinux:
+ *
http://bellard.org/jslinux/
+ * Copyright (c) 2011 Fabrice Bellard
+ * The original design remains. The terminal itself
+ * has been extended to include xterm CSI codes, among
+ * other features.
+ */
+