1
0
mirror of https://github.com/webslides/WebSlides.git synced 2025-08-13 16:45:01 +02:00

Ctrl/Cmd + F should not trigger fullscreen

Hence allowing search
#97
This commit is contained in:
Antonio Laguna
2017-09-16 19:45:13 +02:00
parent 8912d05d70
commit 3b7203c9ab
2 changed files with 13 additions and 5 deletions

View File

@@ -68,7 +68,10 @@ export default class Keyboard {
method = !this.ws_.isVertical ? this.ws_.goNext : null;
break;
case Keys.F:
method = this.ws_.fullscreen;
if (!event.metaKey && ! event.ctrlKey) {
method = this.ws_.fullscreen;
}
break;
}

View File

@@ -2,12 +2,14 @@ import Keyboard from '../../src/js/plugins/keyboard';
import Keys from '../../src/js/utils/keys';
// @TODO: Check to do this with simulant
const simulateKeyEvent = (el, code, useShift = false) => {
const evt = new KeyboardEvent('keydown', {
const simulateKeyEvent = (el, code, extra) => {
const config = Object.assign({
bubbles: true,
cancelableCode: true,
which: code,
shiftKey: useShift});
shiftKey: false}, extra);
const evt = new KeyboardEvent('keydown', config);
el.dispatchEvent(evt);
};
@@ -52,7 +54,7 @@ test('Keyboard plugin', () => {
simulateKeyEvent(document, Keys.SPACE);
expect(next.mock.calls.length).toBe(2);
// Shift + Space
simulateKeyEvent(document, Keys.SPACE, true);
simulateKeyEvent(document, Keys.SPACE, {shiftKey: true});
expect(next.mock.calls.length).toBe(2);
expect(prev.mock.calls.length).toBe(1);
simulateKeyEvent(document, Keys.RE_PAGE);
@@ -81,6 +83,9 @@ test('Keyboard plugin', () => {
expect(prev.mock.calls.length).toBe(4);
expect(next.mock.calls.length).toBe(4);
// F, only trigger on when alone
simulateKeyEvent(document, Keys.F);
simulateKeyEvent(document, Keys.F, {ctrlKey: true});
simulateKeyEvent(document, Keys.F, {metaKey: true});
expect(fullscreen.mock.calls.length).toBe(1);
});