@applicaster/zapp-react-dom-app 13.0.0-rc.14 → 13.0.0-rc.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,8 +23,6 @@ import {
23
23
 
24
24
  import { showConfirmationDialog } from "@applicaster/zapp-react-native-utils/alertUtils";
25
25
 
26
- import { withUseSeek } from "@applicaster/zapp-react-native-utils/reactHooks/player";
27
-
28
26
  import {
29
27
  DISPLAY_STATES,
30
28
  DisplayStateContext,
@@ -48,6 +46,7 @@ import {
48
46
 
49
47
  import { OnScreenKeyboard } from "@applicaster/zapp-react-dom-ui-components/Components/OnScreenKeyboard";
50
48
  import { KeyboardLongPressManager } from "@applicaster/zapp-react-dom-ui-components/Utils/KeyboardLongPressManager";
49
+ import { KeyInputHandler } from "@applicaster/zapp-react-native-utils/appUtils/keyInputHandler/KeyInputHandler";
51
50
 
52
51
  const { withXray } = getXray();
53
52
  const globalAny: any = global;
@@ -62,14 +61,6 @@ type Props = {
62
61
  navigator: QuickBrickAppNavigator;
63
62
  rivers: {};
64
63
  xray: XRayContext;
65
- seekMethods: {
66
- onRewindPress: () => void;
67
- onRewindLongPress: () => void;
68
- onForwardPress: () => void;
69
- onForwardLongPress: () => void;
70
- onRewindPressOut: () => void;
71
- onForwardPressOut: () => void;
72
- };
73
64
  confirmDialog: typeof confirmationDialogStore;
74
65
  };
75
66
 
@@ -181,6 +172,11 @@ class InteractionManagerClass extends React.Component<Props, State> {
181
172
 
182
173
  window.addEventListener("onLongPress", this.handleLongPress.bind(this));
183
174
 
175
+ window.addEventListener(
176
+ "onPressRelease",
177
+ this.handleLongPressRelease.bind(this)
178
+ );
179
+
184
180
  window.addEventListener(
185
181
  "onLongPressRelease",
186
182
  this.handleLongPressRelease.bind(this)
@@ -339,9 +335,34 @@ class InteractionManagerClass extends React.Component<Props, State> {
339
335
  }
340
336
 
341
337
  onKeyUp(event: KeyboardEvent) {
338
+ const { setDisplayState } = this.props;
339
+
342
340
  if (this.keySupportsLongPress(event)) {
343
341
  this.longPressDetector.endKeyPressMonitoring(event.code);
344
342
  }
343
+
344
+ if (
345
+ keyCode(event).matches(KEYS.Enter) ||
346
+ (__DEV__ && keyCode(event).matches(KEYS.X))
347
+ ) {
348
+ focusManager.pressOut();
349
+ }
350
+
351
+ if (
352
+ keyCode(event).matches(KEYS.Forward) ||
353
+ (__DEV__ && keyCode(event).matches(KEYS.C))
354
+ ) {
355
+ setDisplayState(DISPLAY_STATES.HUD);
356
+ KeyInputHandler.getInstance().onForwardPressOut();
357
+ }
358
+
359
+ if (
360
+ keyCode(event).matches(KEYS.Rewind) ||
361
+ (__DEV__ && keyCode(event).matches(KEYS.Z))
362
+ ) {
363
+ setDisplayState(DISPLAY_STATES.HUD);
364
+ KeyInputHandler.getInstance().onRewindPressOut();
365
+ }
345
366
  }
346
367
 
347
368
  onKeyDown(event) {
@@ -366,12 +387,13 @@ class InteractionManagerClass extends React.Component<Props, State> {
366
387
  }
367
388
 
368
389
  // None of the logic below should be executed for repeated keys
369
- if (event.repeat) return;
390
+ if (event.repeat && !keyCode(event).matchesAny(...ARROW_KEYS)) return;
370
391
 
371
392
  /**
372
393
  When the player is displayed, we listen to Native Play / Pause / Stop
373
394
  buttons. Any other key press will display the transport controls
374
395
  */
396
+
375
397
  if (
376
398
  displayState === DISPLAY_STATES.PLAYER ||
377
399
  displayState === DISPLAY_STATES.HUD
@@ -404,16 +426,22 @@ class InteractionManagerClass extends React.Component<Props, State> {
404
426
  return;
405
427
  }
406
428
 
407
- if (keyCode(event).matches(KEYS.Forward)) {
429
+ if (
430
+ keyCode(event).matches(KEYS.Forward) ||
431
+ (__DEV__ && keyCode(event).matches(KEYS.C))
432
+ ) {
408
433
  setDisplayState(DISPLAY_STATES.HUD);
409
- this.props.seekMethods.onForwardPress();
434
+ KeyInputHandler.getInstance().onForwardPress();
410
435
 
411
436
  return;
412
437
  }
413
438
 
414
- if (keyCode(event).matches(KEYS.Rewind)) {
439
+ if (
440
+ keyCode(event).matches(KEYS.Rewind) ||
441
+ (__DEV__ && keyCode(event).matches(KEYS.Z))
442
+ ) {
415
443
  setDisplayState(DISPLAY_STATES.HUD);
416
- this.props.seekMethods.onRewindPress();
444
+ KeyInputHandler.getInstance().onRewindPress();
417
445
 
418
446
  return;
419
447
  }
@@ -475,7 +503,10 @@ class InteractionManagerClass extends React.Component<Props, State> {
475
503
  }
476
504
  }
477
505
 
478
- if (keyCode(event).matches(KEYS.Enter)) {
506
+ if (
507
+ keyCode(event).matches(KEYS.Enter) ||
508
+ (__DEV__ && keyCode(event).matches(KEYS.X))
509
+ ) {
479
510
  if (displayState === DISPLAY_STATES.PLAYER) {
480
511
  setDisplayState(DISPLAY_STATES.HUD);
481
512
  } else {
@@ -690,54 +721,43 @@ class InteractionManagerClass extends React.Component<Props, State> {
690
721
  }, SEQUENCE_ENTRY_TIME);
691
722
  }
692
723
 
724
+ // TODO: Delete it on next PR if not needed
693
725
  private handleLongPress = (event: CustomEvent) => {
694
726
  const { keyCode } = event.detail;
695
- const { displayState } = this.props;
696
- const playerState = displayState === DISPLAY_STATES.PLAYER;
697
- const hudState = displayState === DISPLAY_STATES.HUD;
698
- const playbackState = playerState || hudState;
699
727
  this.longPressActive = true;
700
728
  this.cancelHudTimeout();
701
729
 
702
730
  switch (keyCode) {
703
- case KEYS.Forward.code:
704
- playbackState && this.props.seekMethods.onForwardLongPress();
705
- break;
706
-
707
- case KEYS.Rewind.code:
708
- playbackState && this.props.seekMethods.onRewindLongPress();
709
- break;
710
-
711
731
  case KEYS.Enter.code:
732
+ case KEYS.X.code:
712
733
  focusManager.longPress();
713
734
  break;
714
735
  }
715
736
  };
716
737
 
738
+ // TODO: Delete it on next PR if not needed
717
739
  private handleLongPressRelease = (event: CustomEvent) => {
718
740
  const { keyCode } = event.detail;
719
741
  this.longPressActive = false;
720
742
  this.resetHudTimeout();
721
743
 
722
744
  switch (keyCode) {
723
- case KEYS.Forward.code:
724
- this.props.seekMethods.onForwardPressOut();
725
- break;
726
-
727
- case KEYS.Rewind.code:
728
- this.props.seekMethods.onRewindPressOut();
729
- break;
730
-
731
745
  case KEYS.Enter.code:
732
- focusManager.pressOut();
746
+ case KEYS.X.code:
747
+ // focusManager.pressOut();
733
748
  break;
734
749
  }
735
750
  };
736
751
 
737
752
  private keySupportsLongPress(event: KeyboardEvent): boolean {
738
- return [KEYS.Forward.code, KEYS.Rewind.code, KEYS.Enter.code].includes(
739
- event.code
740
- );
753
+ return [
754
+ KEYS.Forward.code,
755
+ KEYS.Rewind.code,
756
+ KEYS.Enter.code,
757
+ KEYS.Z.code,
758
+ KEYS.X.code,
759
+ KEYS.C.code,
760
+ ].includes(event.code);
741
761
  }
742
762
 
743
763
  render() {
@@ -756,7 +776,6 @@ class InteractionManagerClass extends React.Component<Props, State> {
756
776
 
757
777
  export const InteractionManager = R.compose(
758
778
  withNavigator,
759
- withUseSeek,
760
779
  withXray,
761
780
  connectToStore(R.pick(["rivers"])),
762
781
  PlayerContentContext.withConsumer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/zapp-react-dom-app",
3
- "version": "13.0.0-rc.14",
3
+ "version": "13.0.0-rc.16",
4
4
  "description": "Zapp App Component for Applicaster's Quick Brick React Native App",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -22,11 +22,11 @@
22
22
  },
23
23
  "homepage": "https://github.com/applicaster/zapp-react-dom-app#readme",
24
24
  "dependencies": {
25
- "@applicaster/zapp-react-dom-ui-components": "13.0.0-rc.14",
26
- "@applicaster/zapp-react-native-bridge": "13.0.0-rc.14",
27
- "@applicaster/zapp-react-native-redux": "13.0.0-rc.14",
28
- "@applicaster/zapp-react-native-ui-components": "13.0.0-rc.14",
29
- "@applicaster/zapp-react-native-utils": "13.0.0-rc.14",
25
+ "@applicaster/zapp-react-dom-ui-components": "13.0.0-rc.16",
26
+ "@applicaster/zapp-react-native-bridge": "13.0.0-rc.16",
27
+ "@applicaster/zapp-react-native-redux": "13.0.0-rc.16",
28
+ "@applicaster/zapp-react-native-ui-components": "13.0.0-rc.16",
29
+ "@applicaster/zapp-react-native-utils": "13.0.0-rc.16",
30
30
  "abortcontroller-polyfill": "^1.7.5",
31
31
  "history": "^4.7.2",
32
32
  "react-router-dom": "^5.1.2",