blob: c32749abe318b33819df5806bbfbe23eee289de7 [file] [log] [blame]
/**
* Controller for server
*
* @module app/serverControl
* @exports remoteConsoleController
* @name remoteConsoleController
* @version 0.1.0
*/
import {hterm, lib} from 'hterm-umdjs';
window.angular && (function (angular) {
'use strict';
angular
.module('app.serverControl')
.controller('remoteConsoleController', [
'$scope',
'$window',
'APIUtils',
'dataService',
function($scope, $window, APIUtils, dataService){
$scope.dataService = dataService;
// See https://github.com/macton/hterm for available hterm options
//Storage
hterm.defaultStorage = new lib.Storage.Local();
var term = new hterm.Terminal("foo");
term.onTerminalReady = function() {
var io = term.io.push();
io.onVTKeystroke = function(str) {
console.log(str)
term.io.print(str);
};
io.sendString = function(str) {
console.log(str)
};
};
term.decorate(document.querySelector('#terminal'));
//Set cursor color
term.prefs_.set('cursor-color', 'rgba(83, 146, 255, .5)');
//Set background color
term.prefs_.set('background-color', '#19273c');
//Print to console window
term.io.println('OpenBMC ver.00');
term.io.println('This is not an actual live connection.');
term.io.print('root@OpenBmc:');
//Allows keyboard input
term.installKeyboard();
$scope.openTerminalWindow = function(){
dataService.setRemoteWindowActive();
$window.open('#/server-control/remote-console-window','Remote Console Window','directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=600,height=400');
}
}
]
);
})(angular);