@applicaster/zapp-react-dom-app 13.0.0-alpha.4750811552 → 13.0.0-alpha.5033140607
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.
- package/App/InteractionManager/index.tsx +40 -59
- package/package.json +6 -6
|
@@ -23,6 +23,8 @@ 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
|
+
|
|
26
28
|
import {
|
|
27
29
|
DISPLAY_STATES,
|
|
28
30
|
DisplayStateContext,
|
|
@@ -46,7 +48,6 @@ import {
|
|
|
46
48
|
|
|
47
49
|
import { OnScreenKeyboard } from "@applicaster/zapp-react-dom-ui-components/Components/OnScreenKeyboard";
|
|
48
50
|
import { KeyboardLongPressManager } from "@applicaster/zapp-react-dom-ui-components/Utils/KeyboardLongPressManager";
|
|
49
|
-
import { KeyInputHandler } from "@applicaster/zapp-react-native-utils/appUtils/keyInputHandler/KeyInputHandler";
|
|
50
51
|
|
|
51
52
|
const { withXray } = getXray();
|
|
52
53
|
const globalAny: any = global;
|
|
@@ -61,6 +62,14 @@ type Props = {
|
|
|
61
62
|
navigator: QuickBrickAppNavigator;
|
|
62
63
|
rivers: {};
|
|
63
64
|
xray: XRayContext;
|
|
65
|
+
seekMethods: {
|
|
66
|
+
onRewindPress: () => void;
|
|
67
|
+
onRewindLongPress: () => void;
|
|
68
|
+
onForwardPress: () => void;
|
|
69
|
+
onForwardLongPress: () => void;
|
|
70
|
+
onRewindPressOut: () => void;
|
|
71
|
+
onForwardPressOut: () => void;
|
|
72
|
+
};
|
|
64
73
|
confirmDialog: typeof confirmationDialogStore;
|
|
65
74
|
};
|
|
66
75
|
|
|
@@ -172,11 +181,6 @@ class InteractionManagerClass extends React.Component<Props, State> {
|
|
|
172
181
|
|
|
173
182
|
window.addEventListener("onLongPress", this.handleLongPress.bind(this));
|
|
174
183
|
|
|
175
|
-
window.addEventListener(
|
|
176
|
-
"onPressRelease",
|
|
177
|
-
this.handleLongPressRelease.bind(this)
|
|
178
|
-
);
|
|
179
|
-
|
|
180
184
|
window.addEventListener(
|
|
181
185
|
"onLongPressRelease",
|
|
182
186
|
this.handleLongPressRelease.bind(this)
|
|
@@ -335,34 +339,9 @@ class InteractionManagerClass extends React.Component<Props, State> {
|
|
|
335
339
|
}
|
|
336
340
|
|
|
337
341
|
onKeyUp(event: KeyboardEvent) {
|
|
338
|
-
const { setDisplayState } = this.props;
|
|
339
|
-
|
|
340
342
|
if (this.keySupportsLongPress(event)) {
|
|
341
343
|
this.longPressDetector.endKeyPressMonitoring(event.code);
|
|
342
344
|
}
|
|
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
|
-
}
|
|
366
345
|
}
|
|
367
346
|
|
|
368
347
|
onKeyDown(event) {
|
|
@@ -393,7 +372,6 @@ class InteractionManagerClass extends React.Component<Props, State> {
|
|
|
393
372
|
When the player is displayed, we listen to Native Play / Pause / Stop
|
|
394
373
|
buttons. Any other key press will display the transport controls
|
|
395
374
|
*/
|
|
396
|
-
|
|
397
375
|
if (
|
|
398
376
|
displayState === DISPLAY_STATES.PLAYER ||
|
|
399
377
|
displayState === DISPLAY_STATES.HUD
|
|
@@ -426,22 +404,16 @@ class InteractionManagerClass extends React.Component<Props, State> {
|
|
|
426
404
|
return;
|
|
427
405
|
}
|
|
428
406
|
|
|
429
|
-
if (
|
|
430
|
-
keyCode(event).matches(KEYS.Forward) ||
|
|
431
|
-
(__DEV__ && keyCode(event).matches(KEYS.C))
|
|
432
|
-
) {
|
|
407
|
+
if (keyCode(event).matches(KEYS.Forward)) {
|
|
433
408
|
setDisplayState(DISPLAY_STATES.HUD);
|
|
434
|
-
|
|
409
|
+
this.props.seekMethods.onForwardPress();
|
|
435
410
|
|
|
436
411
|
return;
|
|
437
412
|
}
|
|
438
413
|
|
|
439
|
-
if (
|
|
440
|
-
keyCode(event).matches(KEYS.Rewind) ||
|
|
441
|
-
(__DEV__ && keyCode(event).matches(KEYS.Z))
|
|
442
|
-
) {
|
|
414
|
+
if (keyCode(event).matches(KEYS.Rewind)) {
|
|
443
415
|
setDisplayState(DISPLAY_STATES.HUD);
|
|
444
|
-
|
|
416
|
+
this.props.seekMethods.onRewindPress();
|
|
445
417
|
|
|
446
418
|
return;
|
|
447
419
|
}
|
|
@@ -501,10 +473,7 @@ class InteractionManagerClass extends React.Component<Props, State> {
|
|
|
501
473
|
}
|
|
502
474
|
}
|
|
503
475
|
|
|
504
|
-
if (
|
|
505
|
-
keyCode(event).matches(KEYS.Enter) ||
|
|
506
|
-
(__DEV__ && keyCode(event).matches(KEYS.X))
|
|
507
|
-
) {
|
|
476
|
+
if (keyCode(event).matches(KEYS.Enter)) {
|
|
508
477
|
if (displayState === DISPLAY_STATES.PLAYER) {
|
|
509
478
|
setDisplayState(DISPLAY_STATES.HUD);
|
|
510
479
|
} else {
|
|
@@ -719,43 +688,54 @@ class InteractionManagerClass extends React.Component<Props, State> {
|
|
|
719
688
|
}, SEQUENCE_ENTRY_TIME);
|
|
720
689
|
}
|
|
721
690
|
|
|
722
|
-
// TODO: Delete it on next PR if not needed
|
|
723
691
|
private handleLongPress = (event: CustomEvent) => {
|
|
724
692
|
const { keyCode } = event.detail;
|
|
693
|
+
const { displayState } = this.props;
|
|
694
|
+
const playerState = displayState === DISPLAY_STATES.PLAYER;
|
|
695
|
+
const hudState = displayState === DISPLAY_STATES.HUD;
|
|
696
|
+
const playbackState = playerState || hudState;
|
|
725
697
|
this.longPressActive = true;
|
|
726
698
|
this.cancelHudTimeout();
|
|
727
699
|
|
|
728
700
|
switch (keyCode) {
|
|
701
|
+
case KEYS.Forward.code:
|
|
702
|
+
playbackState && this.props.seekMethods.onForwardLongPress();
|
|
703
|
+
break;
|
|
704
|
+
|
|
705
|
+
case KEYS.Rewind.code:
|
|
706
|
+
playbackState && this.props.seekMethods.onRewindLongPress();
|
|
707
|
+
break;
|
|
708
|
+
|
|
729
709
|
case KEYS.Enter.code:
|
|
730
|
-
case KEYS.X.code:
|
|
731
710
|
focusManager.longPress();
|
|
732
711
|
break;
|
|
733
712
|
}
|
|
734
713
|
};
|
|
735
714
|
|
|
736
|
-
// TODO: Delete it on next PR if not needed
|
|
737
715
|
private handleLongPressRelease = (event: CustomEvent) => {
|
|
738
716
|
const { keyCode } = event.detail;
|
|
739
717
|
this.longPressActive = false;
|
|
740
718
|
this.resetHudTimeout();
|
|
741
719
|
|
|
742
720
|
switch (keyCode) {
|
|
721
|
+
case KEYS.Forward.code:
|
|
722
|
+
this.props.seekMethods.onForwardPressOut();
|
|
723
|
+
break;
|
|
724
|
+
|
|
725
|
+
case KEYS.Rewind.code:
|
|
726
|
+
this.props.seekMethods.onRewindPressOut();
|
|
727
|
+
break;
|
|
728
|
+
|
|
743
729
|
case KEYS.Enter.code:
|
|
744
|
-
|
|
745
|
-
// focusManager.pressOut();
|
|
730
|
+
focusManager.pressOut();
|
|
746
731
|
break;
|
|
747
732
|
}
|
|
748
733
|
};
|
|
749
734
|
|
|
750
735
|
private keySupportsLongPress(event: KeyboardEvent): boolean {
|
|
751
|
-
return [
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
KEYS.Enter.code,
|
|
755
|
-
KEYS.Z.code,
|
|
756
|
-
KEYS.X.code,
|
|
757
|
-
KEYS.C.code,
|
|
758
|
-
].includes(event.code);
|
|
736
|
+
return [KEYS.Forward.code, KEYS.Rewind.code, KEYS.Enter.code].includes(
|
|
737
|
+
event.code
|
|
738
|
+
);
|
|
759
739
|
}
|
|
760
740
|
|
|
761
741
|
render() {
|
|
@@ -774,6 +754,7 @@ class InteractionManagerClass extends React.Component<Props, State> {
|
|
|
774
754
|
|
|
775
755
|
export const InteractionManager = R.compose(
|
|
776
756
|
withNavigator,
|
|
757
|
+
withUseSeek,
|
|
777
758
|
withXray,
|
|
778
759
|
connectToStore(R.pick(["rivers"])),
|
|
779
760
|
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-alpha.
|
|
3
|
+
"version": "13.0.0-alpha.5033140607",
|
|
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-alpha.
|
|
26
|
-
"@applicaster/zapp-react-native-bridge": "13.0.0-alpha.
|
|
27
|
-
"@applicaster/zapp-react-native-redux": "13.0.0-alpha.
|
|
28
|
-
"@applicaster/zapp-react-native-ui-components": "13.0.0-alpha.
|
|
29
|
-
"@applicaster/zapp-react-native-utils": "13.0.0-alpha.
|
|
25
|
+
"@applicaster/zapp-react-dom-ui-components": "13.0.0-alpha.5033140607",
|
|
26
|
+
"@applicaster/zapp-react-native-bridge": "13.0.0-alpha.5033140607",
|
|
27
|
+
"@applicaster/zapp-react-native-redux": "13.0.0-alpha.5033140607",
|
|
28
|
+
"@applicaster/zapp-react-native-ui-components": "13.0.0-alpha.5033140607",
|
|
29
|
+
"@applicaster/zapp-react-native-utils": "13.0.0-alpha.5033140607",
|
|
30
30
|
"abortcontroller-polyfill": "^1.7.5",
|
|
31
31
|
"history": "^4.7.2",
|
|
32
32
|
"react-router-dom": "^5.1.2",
|