CORD-582, CORD-734 Registering events listeners for keyboard shortcuts
and displaying them in the side panel

Change-Id: Ifbb227b3a425be5c33d1fe211abd473209414896
diff --git a/src/app/template/directives/directives.ts b/src/app/template/directives/directives.ts
index 76b0907..625c101 100644
--- a/src/app/template/directives/directives.ts
+++ b/src/app/template/directives/directives.ts
@@ -5,18 +5,25 @@
 /* tslint:disable */
 
 import * as $ from 'jquery';
+import {IXosKeyboardShortcutService} from '../../core/services/keyboard-shortcut';
 
 /**
  * minimalizaSidebar - Directive for minimalize sidebar
  */
-export function minimalizaMenu($rootScope) {
+export function minimalizaMenu($rootScope, XosKeyboardShortcut: IXosKeyboardShortcutService) {
   return {
     restrict: 'EA',
     template: '<div class="left-nav-toggle"><a href ng-click="minimalize()"><i class="stroke-hamburgermenu"></i> </a>',
     controller: function ($scope, $element) {
       $scope.minimalize = function () {
         $("body").toggleClass("nav-toggle");
-      }
+      };
+
+      XosKeyboardShortcut.registerKeyBinding({
+        key: 'n',
+        description: 'Toggle Navigation',
+        cb: $scope.minimalize,
+      }, 'global');
     }
   };
 }
diff --git a/src/app/template/filters/capitalize.ts b/src/app/template/filters/capitalize.ts
new file mode 100644
index 0000000..8325eb7
--- /dev/null
+++ b/src/app/template/filters/capitalize.ts
@@ -0,0 +1,6 @@
+export function capitalize() {
+  return function(input: string) {
+    return (!!input) ? input.charAt(0).toUpperCase() + input.substr(1).toLowerCase() : '';
+  };
+}
+
diff --git a/src/app/template/index.ts b/src/app/template/index.ts
index a407462..605b840 100644
--- a/src/app/template/index.ts
+++ b/src/app/template/index.ts
@@ -11,6 +11,7 @@
 import '../style/style.scss';
 import '../style/stroke-icons/style.css';
 import '../style/pe-icons/pe-icon-7-stroke.css';
+import {capitalize} from './filters/capitalize';
 
 
 (function () {
@@ -28,6 +29,7 @@
   ])
     .directive('minimalizaMenu', minimalizaMenu)
     // .directive('sparkline', sparkline)
-    .directive('panelTools', panelTools);
+    .directive('panelTools', panelTools)
+    .filter('capitalize', capitalize);
 })();