[CORD-1117] XOS GUI Various fix
Change-Id: I4237a5e23509e9173c958d76aa929a70583ba1e6
diff --git a/src/app/core/services/keyboard-shortcut.spec.ts b/src/app/core/services/keyboard-shortcut.spec.ts
index b573656..deb04b7 100644
--- a/src/app/core/services/keyboard-shortcut.spec.ts
+++ b/src/app/core/services/keyboard-shortcut.spec.ts
@@ -7,6 +7,7 @@
let $log: ng.ILogService;
let $transitions: any;
let XosSidePanel: IXosSidePanelService;
+let logSpy: any;
const baseGlobalModifiers: IXosKeyboardShortcutBinding[] = [
{
@@ -55,6 +56,7 @@
$log = _$log_;
$transitions = _$transitions_;
XosSidePanel = _XosSidePanel_;
+ logSpy = spyOn($log, 'warn');
});
service = new XosKeyboardShortcut($log, $transitions, XosSidePanel);
@@ -167,13 +169,11 @@
});
it('should not add binding that has an already registered key', () => {
- function errorFunctionWrapper() {
- service['registerKeyBinding']({
- key: 'A',
- cb: 'cb'
- }, 'global');
- }
- expect(errorFunctionWrapper).toThrow(new Error('[XosKeyboardShortcut] A shortcut for key "a" has already been registered'));
+ service['registerKeyBinding']({
+ key: 'A',
+ cb: 'cb'
+ }, 'global');
+ expect(logSpy).toHaveBeenCalledWith('[XosKeyboardShortcut] A shortcut for key "a" has already been registered');
});
});
});
diff --git a/src/app/core/services/keyboard-shortcut.ts b/src/app/core/services/keyboard-shortcut.ts
index e814943..35af07e 100644
--- a/src/app/core/services/keyboard-shortcut.ts
+++ b/src/app/core/services/keyboard-shortcut.ts
@@ -120,7 +120,8 @@
binding.key = binding.key.toLowerCase();
if (_.find(this.keyMapping.global, {key: binding.key}) || _.find(this.keyMapping.view, {key: binding.key})) {
- throw new Error(`[XosKeyboardShortcut] A shortcut for key "${binding.key}" has already been registered`);
+ this.$log.warn(`[XosKeyboardShortcut] A shortcut for key "${binding.key}" has already been registered`);
+ return;
}
this.$log.debug(`[XosKeyboardShortcut] Registering binding for key: ${binding.key}`);