Przeglądaj źródła

implemented so that when you press "cmd+/" it will show you the konamicomannd.

白石誠 5 lat temu
rodzic
commit
4ccdd0a5b0

+ 2 - 0
src/client/js/components/Hotkeys/Hotkeys.jsx

@@ -2,6 +2,7 @@ import React from 'react';
 import HotkeysDetector from '../HotkeysDetector/HotkeysDetector';
 import StaffCredit from '../StaffCredit/StaffCredit';
 import MirrorMode from '../MirrorMode/MirrorMode';
+import ShowHotkeys from '../PageHotkeys/ShowHotkeys';
 
 export default class Hotkeys extends React.Component {
 
@@ -13,6 +14,7 @@ export default class Hotkeys extends React.Component {
     this.supportClasses = [
       StaffCredit,
       MirrorMode,
+      ShowHotkeys,
     ];
     this.keymap = this.keymapSet();
     this.deleteRender = this.deleteRender.bind(this);

+ 9 - 0
src/client/js/components/HotkeysDetector/HotkeysDetector.jsx

@@ -15,6 +15,15 @@ export default class HotkeysDetector extends React.Component {
   }
 
   check(event) {
+
+    if ((event.ctrlKey || event.metaKey) && (event.key == '/')) {
+      this.props.onDetected(['/']);
+      this.setState({
+        userCommand: [],
+      });
+      return null;
+    }
+
     this.setState({
       userCommand: this.state.userCommand.concat(event.key),
     });

+ 33 - 0
src/client/js/components/PageHotkeys/ShowHotkeys.jsx

@@ -0,0 +1,33 @@
+import React from 'react';
+
+/**
+ *
+ * @export
+ * @extends {React.Component}
+ */
+
+export default class ShowHotkeys extends React.Component {
+
+  // when this is called it returns the hotkey stroke
+  static getHotkeyStroke() {
+    return ['/'];
+  }
+
+  static getComponent() {
+    return <ShowHotkeys />;
+  }
+
+  componentDidMount() {
+    // show modal to create a page
+    $('#shortcuts-modal').modal('toggle');
+    return null;
+  }
+
+  render() {
+    return (
+      <React.Fragment>
+      </React.Fragment>
+    );
+  }
+
+}

+ 0 - 11
src/client/js/legacy/crowi.js

@@ -95,12 +95,6 @@ Crowi.handleKeyEHandler = (event) => {
   event.preventDefault();
 };
 
-Crowi.handleKeyCtrlSlashHandler = (event) => {
-  // show modal to create a page
-  $('#shortcuts-modal').modal('toggle');
-  event.preventDefault();
-};
-
 Crowi.initClassesByOS = function() {
   // add classes to cmd-key by OS
   const platform = navigator.platform.toLowerCase();
@@ -425,11 +419,6 @@ window.addEventListener('keydown', (event) => {
         Crowi.handleKeyEHandler(event);
       }
       break;
-    case '/':
-      if (event.ctrlKey || event.metaKey) {
-        Crowi.handleKeyCtrlSlashHandler(event);
-      }
-      break;
     default:
   }
 });