From 08dc58da6bcbe59e726f63ade94782eea5268638 Mon Sep 17 00:00:00 2001 From: agentd00nut Date: Thu, 11 Apr 2019 11:25:56 -0400 Subject: [PATCH] Allow for setting control schemes s based on the preview type --- .../public/js/lib/ext/preview/preview-vid.js | 2 + .../public/js/lib/ext/preview/preview.js | 64 +++++++++++++++++-- 2 files changed, 62 insertions(+), 4 deletions(-) diff --git a/src/_h5ai/public/js/lib/ext/preview/preview-vid.js b/src/_h5ai/public/js/lib/ext/preview/preview-vid.js index 04e21a03..dc9b0851 100644 --- a/src/_h5ai/public/js/lib/ext/preview/preview-vid.js +++ b/src/_h5ai/public/js/lib/ext/preview/preview-vid.js @@ -2,6 +2,8 @@ const {dom} = require('../../util'); const allsettings = require('../../core/settings'); const preview = require('./preview'); +preview.setControlType("vid") + const settings = Object.assign({ enabled: false, autoplay: true, diff --git a/src/_h5ai/public/js/lib/ext/preview/preview.js b/src/_h5ai/public/js/lib/ext/preview/preview.js index 703b2b99..f93226db 100644 --- a/src/_h5ai/public/js/lib/ext/preview/preview.js +++ b/src/_h5ai/public/js/lib/ext/preview/preview.js @@ -131,7 +131,25 @@ const dropEvent = ev => { ev.preventDefault(); }; -const onKeydown = ev => { +// const onKeydown = ev => { +// const key = ev.keyCode; + +// if (key === 27) { // esc +// dropEvent(ev); +// exit(); // eslint-disable-line no-use-before-define +// } else if (key === 8 || key === 37) { // backspace, left +// dropEvent(ev); +// prev(); +// } else if (key === 13 || key === 32 || key === 39) { // enter, space, right +// dropEvent(ev); +// next(); +// } else if (key === 70) { // f +// dropEvent(ev); +// toggleFullscreen(); +// } +// }; + +const defaultControls = ev => { const key = ev.keyCode; if (key === 27) { // esc @@ -147,7 +165,42 @@ const onKeydown = ev => { dropEvent(ev); toggleFullscreen(); } -}; +} + +const videoControls = ev => { + const key = ev.keyCode; + + if (key === 27) { // esc + dropEvent(ev); + exit(); // eslint-disable-line no-use-before-define + } else if (key === 8 || key === 188) { // backspace === 8; , ===188 + dropEvent(ev); + prev(); + } else if (key === 13 || key === 190) { // enter === 13; . ===190 + dropEvent(ev); + next(); + } else if (key === 70) { // f + dropEvent(ev); + toggleFullscreen(); + } +} + +const onKeydown = ev => { + + switch(Preview.controlsType){ + case "vid": + videoControls(ev) + break; + default: + defaultControls(ev) + } +} + +const setControlType = (t) =>{ + Preview.controlsType = t +} + + const enter = () => { setLabels([]); @@ -284,12 +337,15 @@ const init = () => { .on('load', updateGui); }; -module.exports = { + +var Preview = module.exports = { setLabels, register, get item() { return session && session.item; - } + }, + controlsType:"default", + setControlType }; init();