SOL console in new window button

Created button to open SOL console in new
window.

Resolves openbmc/openbmc#3153

Tested: Verified that button brings up new window
    and  that SOL console functions in new window.

Change-Id: Idf8ff314e9a14cba0820823afd1ce60e4b3bbc4f
Signed-off-by: beccabroek <beccabroek@gmail.com>
diff --git a/app/common/directives/serial-console.html b/app/common/directives/serial-console.html
index 0927f0a..30ba673 100644
--- a/app/common/directives/serial-console.html
+++ b/app/common/directives/serial-console.html
@@ -1,3 +1,6 @@
 <div class="serial-lan__wrapper">
-    	<div id="terminal" class="serial-lan__terminal"></div>
+	<div id="terminal" class="serial-lan__terminal"></div>
+	<div class="serial-lan__actions">
+		<button class="inline btn-pop-out" ng-click="openTerminalWindow()" ng-show="showTabBtn === true">Open in new tab</button>
+	</div>
 </div>
\ No newline at end of file
diff --git a/app/common/directives/serial-console.js b/app/common/directives/serial-console.js
index 7ce2e62..b320bdc 100644
--- a/app/common/directives/serial-console.js
+++ b/app/common/directives/serial-console.js
@@ -8,7 +8,7 @@
       return {
         'restrict': 'E',
         'template': require('./serial-console.html'),
-        'scope': {'path': '='},
+        'scope': {'path': '=', 'showTabBtn': '=?'},
         'controller': [
           '$scope', '$window', 'dataService',
           function($scope, $window, dataService) {
@@ -55,6 +55,12 @@
                   'websocket closed. code: ' + event.code +
                   ' reason: ' + event.reason);
             };
+            $scope.openTerminalWindow = function() {
+              $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=yes,width=600,height=550');
+            };
           }
         ]
       };
diff --git a/app/server-control/controllers/remote-console-controller.html b/app/server-control/controllers/remote-console-controller.html
index c82af06..d26ebbe 100644
--- a/app/server-control/controllers/remote-console-controller.html
+++ b/app/server-control/controllers/remote-console-controller.html
@@ -9,7 +9,7 @@
 	</section>
 	<section class="row column">
 		<p class="serial-lan__copy">The Serial over LAN (SoL) console redirects the output of the server’s serial port to a browser window on your workstation.</p>
-		<serial-console></serial-console>
+		<serial-console show-tab-btn="true"></serial-console>
 	</section>
 </div>
 
diff --git a/app/server-control/controllers/remote-console-window-controller.html b/app/server-control/controllers/remote-console-window-controller.html
index 932fb0a..eca7bec 100644
--- a/app/server-control/controllers/remote-console-window-controller.html
+++ b/app/server-control/controllers/remote-console-window-controller.html
@@ -1,5 +1,5 @@
 <div class="serial-lan__header">
 	<a class="bold" ng-click="close()"><i class="icon icon__return"></i> Return to OpenBmc</a>
 </div>
-<serial-console></serial-console>
+<serial-console show-tab-btn="false"></serial-console>