react-native-unit-components 1.2.1 → 1.4.0
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/README.md +0 -255
- package/ios/Camera/Camera.swift +22 -0
- package/ios/Camera/CameraExportModule.m +7 -0
- package/ios/UNAppInfo/UNAppInfo.swift +19 -0
- package/ios/UNAppInfo/UNAppInfoExportModule.m +7 -0
- package/ios/UnitReactNativeComponentsViewManager.swift +7 -7
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +24 -1
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +24 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +28 -3
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +11 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +32 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +8 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +18 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +7 -0
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +37 -3
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +9 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js +97 -0
- package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -0
- package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.utils.js +45 -0
- package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.utils.js.map +1 -0
- package/lib/commonjs/components/index.js +11 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/hooks/listenerToBus.js +4 -1
- package/lib/commonjs/hooks/listenerToBus.js.map +1 -1
- package/lib/commonjs/messages/webMessages/activityMessage.js +12 -0
- package/lib/commonjs/messages/webMessages/activityMessage.js.map +1 -0
- package/lib/commonjs/messages/webMessages/cardMessage.js +1 -0
- package/lib/commonjs/messages/webMessages/cardMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/checkMessage.js +13 -0
- package/lib/commonjs/messages/webMessages/checkMessage.js.map +1 -0
- package/lib/commonjs/messages/webMessages/index.js.map +1 -1
- package/lib/commonjs/messages/webMessages/onLoadMessage.js +17 -0
- package/lib/commonjs/messages/webMessages/onLoadMessage.js.map +1 -0
- package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/commonjs/scripts/html/bodyScript.js +42 -1
- package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
- package/lib/commonjs/sharedTypes/account.types.js +8 -1
- package/lib/commonjs/sharedTypes/account.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/achCredit.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/activity.types.js +6 -0
- package/lib/commonjs/sharedTypes/activity.types.js.map +1 -0
- package/lib/commonjs/sharedTypes/authorization.types.js +2 -0
- package/lib/commonjs/sharedTypes/authorization.types.js.map +1 -0
- package/lib/commonjs/sharedTypes/card.types.js +15 -0
- package/lib/commonjs/sharedTypes/card.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/checkDeposit.types.js +22 -0
- package/lib/commonjs/sharedTypes/checkDeposit.types.js.map +1 -0
- package/lib/commonjs/sharedTypes/index.js +11 -0
- package/lib/commonjs/sharedTypes/index.js.map +1 -1
- package/lib/commonjs/sharedTypes/onLoadResponse.types.js +0 -4
- package/lib/commonjs/sharedTypes/onLoadResponse.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/transactions.types.js +52 -0
- package/lib/commonjs/sharedTypes/transactions.types.js.map +1 -0
- package/lib/commonjs/webComponent/WebComponent.js +35 -2
- package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
- package/lib/commonjs/webComponent/html.js +14 -1
- package/lib/commonjs/webComponent/html.js.map +1 -1
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +24 -1
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +24 -1
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js +30 -5
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +8 -0
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js +33 -2
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +6 -0
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +18 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +7 -0
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.js +39 -5
- package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +6 -0
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js +88 -0
- package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -0
- package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.utils.js +37 -0
- package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.utils.js.map +1 -0
- package/lib/module/components/index.js +1 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/hooks/listenerToBus.js +4 -1
- package/lib/module/hooks/listenerToBus.js.map +1 -1
- package/lib/module/messages/webMessages/activityMessage.js +5 -0
- package/lib/module/messages/webMessages/activityMessage.js.map +1 -0
- package/lib/module/messages/webMessages/cardMessage.js +1 -0
- package/lib/module/messages/webMessages/cardMessage.js.map +1 -1
- package/lib/module/messages/webMessages/checkMessage.js +6 -0
- package/lib/module/messages/webMessages/checkMessage.js.map +1 -0
- package/lib/module/messages/webMessages/index.js.map +1 -1
- package/lib/module/messages/webMessages/onLoadMessage.js +10 -0
- package/lib/module/messages/webMessages/onLoadMessage.js.map +1 -0
- package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/module/scripts/html/bodyScript.js +37 -0
- package/lib/module/scripts/html/bodyScript.js.map +1 -1
- package/lib/module/sharedTypes/account.types.js +6 -0
- package/lib/module/sharedTypes/account.types.js.map +1 -1
- package/lib/module/sharedTypes/achCredit.types.js.map +1 -1
- package/lib/module/sharedTypes/activity.types.js +2 -0
- package/lib/module/sharedTypes/activity.types.js.map +1 -0
- package/lib/module/sharedTypes/authorization.types.js +2 -0
- package/lib/module/sharedTypes/authorization.types.js.map +1 -0
- package/lib/module/sharedTypes/card.types.js +13 -1
- package/lib/module/sharedTypes/card.types.js.map +1 -1
- package/lib/module/sharedTypes/checkDeposit.types.js +15 -0
- package/lib/module/sharedTypes/checkDeposit.types.js.map +1 -0
- package/lib/module/sharedTypes/index.js +2 -1
- package/lib/module/sharedTypes/index.js.map +1 -1
- package/lib/module/sharedTypes/onLoadResponse.types.js +1 -1
- package/lib/module/sharedTypes/onLoadResponse.types.js.map +1 -1
- package/lib/module/sharedTypes/transactions.types.js +44 -0
- package/lib/module/sharedTypes/transactions.types.js.map +1 -0
- package/lib/module/webComponent/WebComponent.js +34 -2
- package/lib/module/webComponent/WebComponent.js.map +1 -1
- package/lib/module/webComponent/html.js +15 -2
- package/lib/module/webComponent/html.js.map +1 -1
- package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +2 -2
- package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +2 -2
- package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +11 -3
- package/lib/typescript/components/UNAccountComponent/UNAccountComponent.utils.d.ts +3 -0
- package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +5 -2
- package/lib/typescript/components/UNActivityComponent/UNActivityComponent.utils.d.ts +1 -0
- package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -2
- package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +9 -3
- package/lib/typescript/components/UNCardComponent/UNCardComponent.utils.d.ts +3 -0
- package/lib/typescript/components/UNCheckDepositComponent/UNCheckDepositComponent.d.ts +12 -0
- package/lib/typescript/components/UNCheckDepositComponent/UNCheckDepositComponent.utils.d.ts +3 -0
- package/lib/typescript/components/index.d.ts +1 -0
- package/lib/typescript/messages/webMessages/activityMessage.d.ts +5 -0
- package/lib/typescript/messages/webMessages/cardMessage.d.ts +5 -1
- package/lib/typescript/messages/webMessages/checkMessage.d.ts +8 -0
- package/lib/typescript/messages/webMessages/index.d.ts +4 -2
- package/lib/typescript/messages/webMessages/onLoadMessage.d.ts +30 -0
- package/lib/typescript/messages/webMessages/unitMessages.d.ts +2 -2
- package/lib/typescript/scripts/html/bodyScript.d.ts +6 -0
- package/lib/typescript/sharedTypes/account.types.d.ts +18 -4
- package/lib/typescript/sharedTypes/achCredit.types.d.ts +6 -0
- package/lib/typescript/sharedTypes/activity.types.d.ts +7 -0
- package/lib/typescript/sharedTypes/authorization.types.d.ts +20 -0
- package/lib/typescript/sharedTypes/card.types.d.ts +12 -0
- package/lib/typescript/sharedTypes/checkDeposit.types.d.ts +46 -0
- package/lib/typescript/sharedTypes/index.d.ts +2 -1
- package/lib/typescript/sharedTypes/onLoadResponse.types.d.ts +12 -16
- package/lib/typescript/sharedTypes/transactions.types.d.ts +80 -0
- package/lib/typescript/webComponent/WebComponent.d.ts +1 -0
- package/package.json +3 -3
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +30 -3
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +30 -3
- package/src/components/UNAccountComponent/UNAccountComponent.tsx +52 -9
- package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +11 -0
- package/src/components/UNActivityComponent/UNActivityComponent.tsx +45 -4
- package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +7 -0
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +24 -3
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +8 -1
- package/src/components/UNCardComponent/UNCardComponent.tsx +51 -7
- package/src/components/UNCardComponent/UNCardComponent.utils.ts +9 -0
- package/src/components/UNCheckDepositComponent/UNCheckDepositComponent.tsx +112 -0
- package/src/components/UNCheckDepositComponent/UNCheckDepositComponent.utils.ts +40 -0
- package/src/components/index.ts +1 -0
- package/src/hooks/listenerToBus.ts +4 -1
- package/src/messages/webMessages/activityMessage.ts +8 -0
- package/src/messages/webMessages/cardMessage.ts +6 -0
- package/src/messages/webMessages/checkMessage.ts +14 -0
- package/src/messages/webMessages/index.ts +6 -0
- package/src/messages/webMessages/onLoadMessage.ts +45 -0
- package/src/messages/webMessages/unitMessages.ts +2 -2
- package/src/scripts/html/bodyScript.ts +42 -1
- package/src/sharedTypes/account.types.ts +33 -19
- package/src/sharedTypes/achCredit.types.ts +7 -0
- package/src/sharedTypes/activity.types.ts +8 -0
- package/src/sharedTypes/authorization.types.ts +22 -0
- package/src/sharedTypes/card.types.ts +13 -0
- package/src/sharedTypes/checkDeposit.types.ts +50 -0
- package/src/sharedTypes/index.ts +2 -1
- package/src/sharedTypes/onLoadResponse.types.ts +15 -23
- package/src/sharedTypes/transactions.types.ts +84 -0
- package/src/webComponent/WebComponent.tsx +36 -2
- package/src/webComponent/html.ts +15 -2
- package/android/src/main/res/values/themes.xml +0 -16
- package/android/src/main/res/values-night/themes.xml +0 -16
|
@@ -5,19 +5,29 @@ import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
|
5
5
|
import type { WebViewMessage } from '../../messages/webMessages';
|
|
6
6
|
import { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';
|
|
7
7
|
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
8
|
-
import type {
|
|
8
|
+
import type { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../sharedTypes';
|
|
9
9
|
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
10
|
-
import { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';
|
|
10
|
+
import { getActivityParams, getActivityScript, injectFiltersChanged, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';
|
|
11
11
|
import type WebView from 'react-native-webview';
|
|
12
12
|
import type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';
|
|
13
13
|
import EventBus from '../../helpers/EventBus';
|
|
14
|
+
import type { UNActivityOnLoadData } from '../../sharedTypes/activity.types';
|
|
15
|
+
import { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';
|
|
16
|
+
import { ActivityMessage } from '../../messages/webMessages/activityMessage';
|
|
14
17
|
|
|
15
18
|
const DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;
|
|
16
19
|
export interface UNActivityComponentProps {
|
|
20
|
+
// inputs
|
|
17
21
|
accountId: string;
|
|
18
22
|
customerToken: string;
|
|
23
|
+
queryFilter?: string
|
|
24
|
+
|
|
25
|
+
// ui
|
|
19
26
|
theme?: string;
|
|
20
|
-
|
|
27
|
+
hideFilterButton?: boolean;
|
|
28
|
+
|
|
29
|
+
// event
|
|
30
|
+
onLoad?: (response: UNOnLoadResponse<UNActivityOnLoadData>) => void;
|
|
21
31
|
}
|
|
22
32
|
|
|
23
33
|
export const UNActivityComponent = (props: UNActivityComponentProps) => {
|
|
@@ -28,7 +38,38 @@ export const UNActivityComponent = (props: UNActivityComponentProps) => {
|
|
|
28
38
|
injectRefreshEventIfNeeded(webRef.current, data);
|
|
29
39
|
};
|
|
30
40
|
|
|
41
|
+
const dispatchActivityFiltersChanged = (query: string) => {
|
|
42
|
+
injectFiltersChanged(webRef.current, query);
|
|
43
|
+
};
|
|
44
|
+
|
|
31
45
|
useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });
|
|
46
|
+
useListenerToBus({ busEventKey: ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED, action: dispatchActivityFiltersChanged});
|
|
47
|
+
|
|
48
|
+
const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {
|
|
49
|
+
if (!props.onLoad) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (RESPONSE_KEYS.errors in response) {
|
|
54
|
+
props.onLoad(response as UNError);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (RESPONSE_KEYS.authorization in response && RESPONSE_KEYS.transactions in response) {
|
|
59
|
+
// ActivityOnLoadResponse;
|
|
60
|
+
const activityOnLoad: UNOnLoadResponseData<UNActivityOnLoadData> = {
|
|
61
|
+
data: {
|
|
62
|
+
[RESPONSE_KEYS.authorization]: response[RESPONSE_KEYS.authorization].data,
|
|
63
|
+
[RESPONSE_KEYS.transactions]: response[RESPONSE_KEYS.transactions].data
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
props.onLoad(activityOnLoad);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
console.error('On Load Error: unexpected response type');
|
|
71
|
+
return;
|
|
72
|
+
};
|
|
32
73
|
|
|
33
74
|
const handleWebViewMessage = (message: WebViewMessage) => {
|
|
34
75
|
switch (message.type) {
|
|
@@ -42,7 +83,7 @@ export const UNActivityComponent = (props: UNActivityComponentProps) => {
|
|
|
42
83
|
break;
|
|
43
84
|
}
|
|
44
85
|
case UnitMessage.UNIT_ON_LOAD:
|
|
45
|
-
|
|
86
|
+
handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);
|
|
46
87
|
break;
|
|
47
88
|
case PageMessage.PAGE_HEIGHT: {
|
|
48
89
|
const currentHeight = (message.details as HeightEvent).height;
|
|
@@ -5,9 +5,12 @@ import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';
|
|
|
5
5
|
import type { UNActivityComponentProps } from './UNActivityComponent';
|
|
6
6
|
|
|
7
7
|
export const getActivityParams = (props: UNActivityComponentProps) => {
|
|
8
|
+
const queryFilterParam = props.queryFilter ? `query-filter="${props.queryFilter}"` : '';
|
|
8
9
|
return `
|
|
9
10
|
account-id="${props.accountId}"
|
|
10
11
|
customer-token="${props.customerToken}"
|
|
12
|
+
hide-filter-button="${props.hideFilterButton || false}"
|
|
13
|
+
${queryFilterParam}
|
|
11
14
|
style="height: 100%"
|
|
12
15
|
`;
|
|
13
16
|
};
|
|
@@ -21,3 +24,7 @@ export const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRe
|
|
|
21
24
|
currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);
|
|
22
25
|
}
|
|
23
26
|
};
|
|
27
|
+
|
|
28
|
+
export const injectFiltersChanged = (currentWeb: WebView | null, query: string) => {
|
|
29
|
+
currentWeb?.injectJavaScript(`dispatchActivityFilterChangedEvent('${query}')`);
|
|
30
|
+
};
|
|
@@ -3,12 +3,13 @@ import { WebComponent, WebComponentType } from '../../webComponent/WebComponent'
|
|
|
3
3
|
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
4
4
|
import { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';
|
|
5
5
|
import type { WebViewMessage } from '../../messages/webMessages';
|
|
6
|
-
import type {
|
|
6
|
+
import type { UNOnLoadResponse, UNBookPaymentData, UNError, UNAccountData, UNOnLoadResponseData } from '../../sharedTypes';
|
|
7
7
|
import { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';
|
|
8
8
|
import { View } from 'react-native';
|
|
9
9
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
10
10
|
import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
|
|
11
11
|
import type { BookPaymentEvent } from '../../messages/webMessages/bookPaymentMessage';
|
|
12
|
+
import { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';
|
|
12
13
|
|
|
13
14
|
export interface UNBookPaymentComponentProps {
|
|
14
15
|
accountId: string;
|
|
@@ -18,13 +19,33 @@ export interface UNBookPaymentComponentProps {
|
|
|
18
19
|
counterPartyName: string;
|
|
19
20
|
theme?: string;
|
|
20
21
|
onPaymentCreated?: (data: UNBookPaymentData) => void;
|
|
21
|
-
onLoad?: (response:
|
|
22
|
+
onLoad?: (response: UNOnLoadResponse<UNAccountData>) => void;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export const UNBookPaymentComponent = (props: UNBookPaymentComponentProps) => {
|
|
25
26
|
const [height, setHeight] = useState<number>(0);
|
|
26
27
|
const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);
|
|
27
28
|
|
|
29
|
+
const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {
|
|
30
|
+
if (!props.onLoad) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (RESPONSE_KEYS.errors in response) {
|
|
35
|
+
props.onLoad(response as UNError);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (RESPONSE_KEYS.account in response) {
|
|
40
|
+
// AccountOnLoadResponse;
|
|
41
|
+
props.onLoad(response[RESPONSE_KEYS.account] as UNOnLoadResponseData<UNAccountData>);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
console.error('On Load Error: unexpected response type');
|
|
46
|
+
return;
|
|
47
|
+
};
|
|
48
|
+
|
|
28
49
|
const handleWebViewMessage = (message: WebViewMessage) => {
|
|
29
50
|
if (!message || !message.details) return;
|
|
30
51
|
|
|
@@ -33,7 +54,7 @@ export const UNBookPaymentComponent = (props: UNBookPaymentComponentProps) => {
|
|
|
33
54
|
props.onPaymentCreated && props.onPaymentCreated((message.details as BookPaymentEvent).data);
|
|
34
55
|
break;
|
|
35
56
|
case UnitMessage.UNIT_ON_LOAD:
|
|
36
|
-
|
|
57
|
+
handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);
|
|
37
58
|
break;
|
|
38
59
|
case PageMessage.PAGE_HEIGHT: {
|
|
39
60
|
const currentHeight = (message.details as HeightEvent).height;
|
|
@@ -7,7 +7,7 @@ import BottomSheet from '../../helpers/BottomSheet/BottomSheet';
|
|
|
7
7
|
import EventBus from '../../helpers/EventBus';
|
|
8
8
|
import { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';
|
|
9
9
|
import { RequestOpenLinkEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
10
|
-
import { CardMessage, CardStatusChangedEvent } from '../../messages/webMessages/cardMessage';
|
|
10
|
+
import { CardMessage, CardActivatedEvent, CardStatusChangedEvent } from '../../messages/webMessages/cardMessage';
|
|
11
11
|
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
12
12
|
import type { WebViewMessage } from '../../messages/webMessages';
|
|
13
13
|
import {
|
|
@@ -24,6 +24,7 @@ import { getAccountActionType } from '../UNAccountComponent/UNAccountComponent.u
|
|
|
24
24
|
import { AccountAction } from '../UNAccountComponent/UNAccountComponent';
|
|
25
25
|
import type { AccountChangedEvent } from '../../messages/webMessages/accountMessage';
|
|
26
26
|
import { AccountMessage } from '../../messages/webMessages/accountMessage';
|
|
27
|
+
import { ActivityFiltersChangedEvent, ActivityMessage } from '../../messages/webMessages/activityMessage';
|
|
27
28
|
|
|
28
29
|
export enum ScrollState {
|
|
29
30
|
/*
|
|
@@ -174,12 +175,18 @@ export const UNBottomSheetComponent = () => {
|
|
|
174
175
|
}
|
|
175
176
|
break;
|
|
176
177
|
}
|
|
178
|
+
case CardMessage.CARD_ACTIVATED:
|
|
179
|
+
EventBus.Instance.event(CardMessage.CARD_ACTIVATED, (message.details as CardActivatedEvent).card);
|
|
180
|
+
break;
|
|
177
181
|
case CardMessage.CARD_STATUS_CHANGED:
|
|
178
182
|
EventBus.Instance.event(CardMessage.CARD_STATUS_CHANGED, (message.details as CardStatusChangedEvent).card);
|
|
179
183
|
break;
|
|
180
184
|
case AccountMessage.UNIT_ACCOUNT_CHANGED:
|
|
181
185
|
EventBus.Instance.event(AccountMessage.UNIT_ACCOUNT_CHANGED, (message.details as AccountChangedEvent).account);
|
|
182
186
|
break;
|
|
187
|
+
case ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED:
|
|
188
|
+
EventBus.Instance.event(ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED, (message.details as ActivityFiltersChangedEvent));
|
|
189
|
+
break;
|
|
183
190
|
case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:
|
|
184
191
|
handleCloseFlow();
|
|
185
192
|
break;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useRef, useState } from 'react';
|
|
1
|
+
import React, { useImperativeHandle, useRef, useState } from 'react';
|
|
2
2
|
import { Dimensions, NativeModule, View } from 'react-native';
|
|
3
3
|
import type WebView from 'react-native-webview';
|
|
4
4
|
import { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';
|
|
@@ -7,31 +7,39 @@ import EventBus from '../../helpers/EventBus';
|
|
|
7
7
|
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
8
8
|
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
9
9
|
import type { WebViewMessage } from '../../messages/webMessages';
|
|
10
|
-
import { getCardParams, getCardScript, injectRefreshEventIfNeeded, launchStartCardProvisioning } from './UNCardComponent.utils';
|
|
10
|
+
import { getCardParams, getCardScript, injectRefreshEventIfNeeded, launchStartCardProvisioning, injectOpenActionsMenuScript, injectRequestCardActionScript } from './UNCardComponent.utils';
|
|
11
11
|
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
12
|
-
import type {
|
|
12
|
+
import type { UNOnLoadResponse, UNCardData, UNError, UNCardMenuAction } from '../../sharedTypes';
|
|
13
13
|
import { CardMessage } from '../../messages/webMessages/cardMessage';
|
|
14
14
|
import { launchGetWallets } from './UNCardComponent.utils';
|
|
15
15
|
import type { NativeModules } from 'react-native';
|
|
16
16
|
import type { UNWallet } from 'src/sharedTypes/wallet.types';
|
|
17
17
|
import { CardAddToWalletErrors, UNCardAddToWalletStatusEvent, CardGetAddToWalletStatusEvent, CardNativeMessage, CardStartPushProvisioningEvent } from '../../messages/nativeMessages/cardMessage';
|
|
18
18
|
import type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';
|
|
19
|
+
import { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';
|
|
19
20
|
export interface UNCardComponentProps {
|
|
20
21
|
// inputs
|
|
21
22
|
cardId: string;
|
|
22
23
|
customerToken: string;
|
|
24
|
+
|
|
25
|
+
// ui
|
|
23
26
|
theme?: string;
|
|
24
27
|
hideActionsMenuButton?: boolean;
|
|
25
28
|
hideCardTitle?: boolean;
|
|
26
29
|
hideSensitiveDataButton?: boolean;
|
|
27
30
|
|
|
28
31
|
// events
|
|
29
|
-
onLoad?: (response:
|
|
32
|
+
onLoad?: (response: UNOnLoadResponse<UNCardData>) => void
|
|
30
33
|
onStatusChanged?: (card: UNCardData) => void;
|
|
34
|
+
onCardActivated?: (card: UNCardData) => void;
|
|
31
35
|
pushProvisioningModule?: typeof NativeModules;
|
|
32
36
|
}
|
|
37
|
+
export interface CardRef {
|
|
38
|
+
openActionsMenu: () => void;
|
|
39
|
+
openAction:(action: UNCardMenuAction) => void;
|
|
40
|
+
}
|
|
33
41
|
|
|
34
|
-
export const UNCardComponent = (props
|
|
42
|
+
export const UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent (props, cardRef) {
|
|
35
43
|
const [height, setHeight] = useState(0);
|
|
36
44
|
const windowWidth = Dimensions.get('window').width;
|
|
37
45
|
|
|
@@ -41,12 +49,27 @@ export const UNCardComponent = (props: UNCardComponentProps) => {
|
|
|
41
49
|
|
|
42
50
|
const webRef = useRef<WebView>(null);
|
|
43
51
|
|
|
52
|
+
useImperativeHandle(cardRef, () => ({
|
|
53
|
+
openActionsMenu() {
|
|
54
|
+
injectOpenActionsMenuScript(webRef.current);
|
|
55
|
+
},
|
|
56
|
+
openAction(action: UNCardMenuAction) {
|
|
57
|
+
injectRequestCardActionScript(webRef.current, action);
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
60
|
+
|
|
44
61
|
const cardStatusChanged = (card: UNCardData) => {
|
|
45
62
|
if (props.onStatusChanged) {
|
|
46
63
|
props.onStatusChanged(card);
|
|
47
64
|
}
|
|
48
65
|
};
|
|
49
66
|
|
|
67
|
+
const cardActivated = (card: UNCardData) => {
|
|
68
|
+
if (props.onCardActivated) {
|
|
69
|
+
props.onCardActivated(card);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
50
73
|
const requestRefresh = (data: RequestRefreshEvent) => {
|
|
51
74
|
injectRefreshEventIfNeeded(webRef.current, data, props.cardId);
|
|
52
75
|
};
|
|
@@ -61,8 +84,29 @@ export const UNCardComponent = (props: UNCardComponentProps) => {
|
|
|
61
84
|
getWallets();
|
|
62
85
|
};
|
|
63
86
|
|
|
87
|
+
const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {
|
|
88
|
+
if (!props.onLoad) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (RESPONSE_KEYS.errors in response) {
|
|
93
|
+
props.onLoad(response as UNError);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (RESPONSE_KEYS.card in response) {
|
|
98
|
+
// CardOnLoadResponse
|
|
99
|
+
props.onLoad(response[RESPONSE_KEYS.card] as UNOnLoadResponse<UNCardData>);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
console.error('On Load Error: unexpected response type');
|
|
104
|
+
return;
|
|
105
|
+
};
|
|
106
|
+
|
|
64
107
|
useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });
|
|
65
108
|
useListenerToBus({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });
|
|
109
|
+
useListenerToBus({ busEventKey: CardMessage.CARD_ACTIVATED, action: cardActivated });
|
|
66
110
|
useListenerToBus({ busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING, action: startPushProvisioning });
|
|
67
111
|
useListenerToBus({ busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, action: getAddToWalletStatus });
|
|
68
112
|
|
|
@@ -83,7 +127,7 @@ export const UNCardComponent = (props: UNCardComponentProps) => {
|
|
|
83
127
|
setHeight((message.details as HeightEvent).height);
|
|
84
128
|
break;
|
|
85
129
|
case UnitMessage.UNIT_ON_LOAD:
|
|
86
|
-
|
|
130
|
+
handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);
|
|
87
131
|
break;
|
|
88
132
|
}
|
|
89
133
|
};
|
|
@@ -132,4 +176,4 @@ export const UNCardComponent = (props: UNCardComponentProps) => {
|
|
|
132
176
|
/>
|
|
133
177
|
</View>
|
|
134
178
|
);
|
|
135
|
-
};
|
|
179
|
+
});
|
|
@@ -7,6 +7,7 @@ import { getMobileWalletPayload } from './networking/requests/UNWalletPayloadReq
|
|
|
7
7
|
import { UNWallet, UNWalletCode, UNWalletName } from '../../../src/sharedTypes/wallet.types';
|
|
8
8
|
import type { RequestRefreshEvent } from '../../messages/webMessages/unitMessages';
|
|
9
9
|
import { UnitSDK } from '../../unitSdkManager/UnitSdkManager';
|
|
10
|
+
import type { UNCardMenuAction } from '../../sharedTypes';
|
|
10
11
|
|
|
11
12
|
export const getCardParams = (props: UNCardComponentProps) => {
|
|
12
13
|
return `
|
|
@@ -23,6 +24,14 @@ export const getCardScript = () => {
|
|
|
23
24
|
return DISPATCH_REQUEST_REFRESH;
|
|
24
25
|
};
|
|
25
26
|
|
|
27
|
+
export const injectOpenActionsMenuScript = (currentWeb: WebView | null) => {
|
|
28
|
+
currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.card}')`);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export const injectRequestCardActionScript = (currentWeb: WebView | null, action: UNCardMenuAction) => {
|
|
32
|
+
currentWeb?.injectJavaScript(`dispatchRequestCardAction('${action}')`);
|
|
33
|
+
};
|
|
34
|
+
|
|
26
35
|
export const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null, cardId: string) => {
|
|
27
36
|
if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.card.valueOf()) && requestRefreshEvent.resourceId == cardId) {
|
|
28
37
|
currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { View, NativeModules, Platform } from 'react-native';
|
|
3
|
+
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
4
|
+
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
5
|
+
import type { WebViewMessage } from '../../messages/webMessages';
|
|
6
|
+
import { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';
|
|
7
|
+
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
8
|
+
import { getCheckDepositParams, getCheckDepositScript } from './UNCheckDepositComponent.utils';
|
|
9
|
+
import { CheckMessage } from '../../messages/webMessages/checkMessage';
|
|
10
|
+
import type { UNCheckDepositData } from '../../sharedTypes/checkDeposit.types';
|
|
11
|
+
import type { UNAccountData, UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../sharedTypes';
|
|
12
|
+
import { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';
|
|
13
|
+
|
|
14
|
+
const { Camera } = NativeModules;
|
|
15
|
+
|
|
16
|
+
export interface UNCheckDepositComponentProps {
|
|
17
|
+
accountId: string;
|
|
18
|
+
fee: number;
|
|
19
|
+
customerToken: string;
|
|
20
|
+
theme?: string;
|
|
21
|
+
onLoad?: (response: UNOnLoadResponse<UNAccountData>) => void;
|
|
22
|
+
onDepositCreated?: (checkData: UNCheckDepositData) => void
|
|
23
|
+
onRestartRequest?: (checkData: UNCheckDepositData) => void
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const UNCheckDepositComponent = (props: UNCheckDepositComponentProps) => {
|
|
27
|
+
const [height, setHeight] = useState<number>(0);
|
|
28
|
+
const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);
|
|
29
|
+
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
const requestCameraAccess = async () => {
|
|
32
|
+
try {
|
|
33
|
+
await Camera.requestAccess();
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
35
|
+
} catch (error: any) {
|
|
36
|
+
console.error(error);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
if (Platform.OS == 'ios') {
|
|
41
|
+
requestCameraAccess();
|
|
42
|
+
}
|
|
43
|
+
}, []);
|
|
44
|
+
|
|
45
|
+
const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {
|
|
46
|
+
if (!props.onLoad) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (RESPONSE_KEYS.errors in response) {
|
|
51
|
+
props.onLoad(response as UNError);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (RESPONSE_KEYS.account in response) {
|
|
56
|
+
// AccountOnLoadResponse;
|
|
57
|
+
props.onLoad(response[RESPONSE_KEYS.account] as UNOnLoadResponseData<UNAccountData>);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
console.error('On Load Error: unexpected response type');
|
|
62
|
+
return;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const handleWebViewMessage = (message: WebViewMessage) => {
|
|
66
|
+
if (!message || !message.details) return;
|
|
67
|
+
|
|
68
|
+
switch (message.type) {
|
|
69
|
+
case CheckMessage.CHECK_DEPOSIT_CREATED:
|
|
70
|
+
props.onDepositCreated && props.onDepositCreated(message.details as UNCheckDepositData);
|
|
71
|
+
break;
|
|
72
|
+
case CheckMessage.CHECK_DEPOSIT_RESTART_REQUEST:
|
|
73
|
+
props.onRestartRequest && props.onRestartRequest(message.details as UNCheckDepositData);
|
|
74
|
+
break;
|
|
75
|
+
case UnitMessage.UNIT_ON_LOAD:
|
|
76
|
+
handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);
|
|
77
|
+
break;
|
|
78
|
+
case PageMessage.PAGE_HEIGHT: {
|
|
79
|
+
const currentHeight = (message.details as HeightEvent).height;
|
|
80
|
+
setHeight(currentHeight);
|
|
81
|
+
if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {
|
|
82
|
+
setPresentationMode(PresentationMode.Default);
|
|
83
|
+
}
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const renderBookPaymentWebView = () => {
|
|
90
|
+
return (
|
|
91
|
+
<WebComponent
|
|
92
|
+
type={WebComponentType.checkDeposit}
|
|
93
|
+
presentationMode={presentationMode}
|
|
94
|
+
params={getCheckDepositParams(props)}
|
|
95
|
+
script={getCheckDepositScript()}
|
|
96
|
+
onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}
|
|
97
|
+
theme={props.theme}
|
|
98
|
+
isScrollable={true}
|
|
99
|
+
/>
|
|
100
|
+
);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
if (presentationMode === PresentationMode.Inherit) {
|
|
104
|
+
return renderBookPaymentWebView();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return (
|
|
108
|
+
<View style={{ height: height }}>
|
|
109
|
+
{renderBookPaymentWebView()}
|
|
110
|
+
</View>
|
|
111
|
+
);
|
|
112
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CheckMessage } from '../../messages/webMessages/checkMessage';
|
|
2
|
+
import type { UNCheckDepositComponentProps } from './UNCheckDepositComponent';
|
|
3
|
+
|
|
4
|
+
export const getCheckDepositParams = (props: UNCheckDepositComponentProps) => {
|
|
5
|
+
return `
|
|
6
|
+
account-id="${props.accountId}"
|
|
7
|
+
fee="${props.fee}"
|
|
8
|
+
customer-token="${props.customerToken}"
|
|
9
|
+
`;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const CHECK_DEPOSIT_LISTENERS = {
|
|
13
|
+
paymentCreated: `
|
|
14
|
+
window.addEventListener("${CheckMessage.CHECK_DEPOSIT_CREATED}", (e) => {
|
|
15
|
+
const response = e.detail
|
|
16
|
+
response.then((data) => {
|
|
17
|
+
postMessageToSDK({ type: "${CheckMessage.CHECK_DEPOSIT_CREATED}", details: data.data })
|
|
18
|
+
}).catch((e) => {
|
|
19
|
+
console.log(e)
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
`,
|
|
23
|
+
restartRequest: `
|
|
24
|
+
window.addEventListener("${CheckMessage.CHECK_DEPOSIT_RESTART_REQUEST}", (e) => {
|
|
25
|
+
const response = e.detail
|
|
26
|
+
response.then((data) => {
|
|
27
|
+
postMessageToSDK({ type: "${CheckMessage.CHECK_DEPOSIT_RESTART_REQUEST}", details: data.data })
|
|
28
|
+
}).catch((e) => {
|
|
29
|
+
console.log(e)
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
`
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const getCheckDepositScript = () => {
|
|
36
|
+
return `
|
|
37
|
+
${CHECK_DEPOSIT_LISTENERS.paymentCreated}
|
|
38
|
+
${CHECK_DEPOSIT_LISTENERS.restartRequest}
|
|
39
|
+
`;
|
|
40
|
+
};
|
package/src/components/index.ts
CHANGED
|
@@ -3,5 +3,6 @@ export * from './UNBottomSheetComponent/UNBottomSheetComponent';
|
|
|
3
3
|
export * from './UNBookPaymentComponent/UNBookPaymentComponent';
|
|
4
4
|
export * from './UNActivityComponent/UNActivityComponent';
|
|
5
5
|
export * from './UNAccountComponent/UNAccountComponent';
|
|
6
|
+
export * from './UNCheckDepositComponent/UNCheckDepositComponent';
|
|
6
7
|
export * from './UNACHDebitComponent/UNACHDebitComponent';
|
|
7
8
|
export * from './UNACHCreditComponent/UNACHCreditComponent';
|
|
@@ -23,6 +23,9 @@ export const useListenerToBus = (listener: Listener) => {
|
|
|
23
23
|
|
|
24
24
|
// Call to action when event is changed. (To be updated with the current props).
|
|
25
25
|
useEffect(() => {
|
|
26
|
-
eventData
|
|
26
|
+
if (eventData == null || eventData == undefined) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
listener.action(eventData);
|
|
27
30
|
}, [eventData]);
|
|
28
31
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { UNCardData } from '../../sharedTypes';
|
|
2
2
|
|
|
3
3
|
export enum CardMessage {
|
|
4
|
+
CARD_ACTIVATED = 'unitCardActivated',
|
|
4
5
|
CARD_STATUS_CHANGED = 'unitCardStatusChanged'
|
|
5
6
|
}
|
|
6
7
|
|
|
@@ -8,5 +9,10 @@ export interface CardStatusChangedEvent {
|
|
|
8
9
|
card: UNCardData;
|
|
9
10
|
}
|
|
10
11
|
|
|
12
|
+
export interface CardActivatedEvent {
|
|
13
|
+
card: UNCardData;
|
|
14
|
+
}
|
|
15
|
+
|
|
11
16
|
export type CardEvent =
|
|
12
17
|
| CardStatusChangedEvent
|
|
18
|
+
| CardActivatedEvent
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { UNCheckDepositData } from '../../sharedTypes/checkDeposit.types';
|
|
2
|
+
|
|
3
|
+
export enum CheckMessage {
|
|
4
|
+
// check deposit
|
|
5
|
+
CHECK_DEPOSIT_CREATED = 'unitCheckDepositCreated',
|
|
6
|
+
CHECK_DEPOSIT_RESTART_REQUEST = 'unitCheckDepositRestartRequest'
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type CheckDepositCreatedEvent = UNCheckDepositData
|
|
10
|
+
export type CheckDepositRestartRequestEvent = UNCheckDepositData
|
|
11
|
+
|
|
12
|
+
export type CheckEvent =
|
|
13
|
+
| CheckDepositCreatedEvent
|
|
14
|
+
| CheckDepositRestartRequestEvent
|
|
@@ -6,6 +6,8 @@ import type { PageEvent, PageMessage } from './pageMessage';
|
|
|
6
6
|
import type { PaymentMessage } from './paymentsMessage';
|
|
7
7
|
import type { UnitEvent, UnitMessage } from './unitMessages';
|
|
8
8
|
import type { AccountEvent, AccountMessage } from './accountMessage';
|
|
9
|
+
import type { CheckEvent, CheckMessage } from './checkMessage';
|
|
10
|
+
import type { ActivityEvent, ActivityMessage } from './activityMessage';
|
|
9
11
|
|
|
10
12
|
export type WebViewMessageType =
|
|
11
13
|
| PageMessage
|
|
@@ -13,6 +15,8 @@ export type WebViewMessageType =
|
|
|
13
15
|
| UnitMessage
|
|
14
16
|
| PaymentMessage
|
|
15
17
|
| AccountMessage
|
|
18
|
+
| CheckMessage
|
|
19
|
+
| ActivityMessage
|
|
16
20
|
|
|
17
21
|
type WebViewEvent =
|
|
18
22
|
| PageEvent
|
|
@@ -22,6 +26,8 @@ type WebViewEvent =
|
|
|
22
26
|
| PaymentMessage
|
|
23
27
|
| ACHEvent
|
|
24
28
|
| AccountEvent
|
|
29
|
+
| CheckEvent
|
|
30
|
+
| ActivityEvent
|
|
25
31
|
|
|
26
32
|
export interface WebViewMessage {
|
|
27
33
|
type: WebViewMessageType,
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type {UNAccountData, UNCounterpartyAccountData, UNCardData, UNError, UNOnLoadResponseData } from '../../sharedTypes';
|
|
2
|
+
import type { UNAuthorizationData } from '../../sharedTypes/authorization.types';
|
|
3
|
+
import type { UNTransactionData } from '../../sharedTypes/transactions.types';
|
|
4
|
+
|
|
5
|
+
export enum RESPONSE_KEYS {
|
|
6
|
+
errors = 'errors',
|
|
7
|
+
card = 'cardResult',
|
|
8
|
+
account = 'accountResult',
|
|
9
|
+
counterpartyAccount = 'counterpartyResult',
|
|
10
|
+
transactions = 'transactionsResult',
|
|
11
|
+
authorization = 'authorizationResult'
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type CardOnLoadResponse = {
|
|
15
|
+
[RESPONSE_KEYS.card]: UNOnLoadResponseData<UNCardData>
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type AccountOnLoadResponse = {
|
|
19
|
+
[RESPONSE_KEYS.account]: UNOnLoadResponseData<UNAccountData>
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type AccountsOnLoadResponse = {
|
|
23
|
+
[RESPONSE_KEYS.account]: UNOnLoadResponseData<[UNAccountData]>
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type ACHOnLoadResponse = {
|
|
27
|
+
[RESPONSE_KEYS.account]: UNOnLoadResponseData<UNAccountData>,
|
|
28
|
+
[RESPONSE_KEYS.counterpartyAccount]: UNOnLoadResponseData<[UNCounterpartyAccountData]>
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type ActivityOnLoadResponse = {
|
|
32
|
+
[RESPONSE_KEYS.authorization]: UNOnLoadResponseData<UNAuthorizationData>,
|
|
33
|
+
[RESPONSE_KEYS.transactions]: UNOnLoadResponseData<UNTransactionData>
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export type UnitOnLoadResponseSuccessData =
|
|
37
|
+
| CardOnLoadResponse
|
|
38
|
+
| ACHOnLoadResponse
|
|
39
|
+
| AccountsOnLoadResponse
|
|
40
|
+
| AccountOnLoadResponse
|
|
41
|
+
| ActivityOnLoadResponse
|
|
42
|
+
|
|
43
|
+
export type UnitOnLoadResponseEvent =
|
|
44
|
+
| UNError
|
|
45
|
+
| UnitOnLoadResponseSuccessData
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UnitOnLoadResponseEvent } from './onLoadMessage';
|
|
2
2
|
|
|
3
3
|
export enum UnitMessage {
|
|
4
4
|
UNIT_REQUEST_RENDERING = 'unitRequestRendering',
|
|
@@ -63,7 +63,7 @@ export type UnitEvent =
|
|
|
63
63
|
| RequestRenderingEvent
|
|
64
64
|
| RequestRefreshEvent
|
|
65
65
|
| RequestOpenLinkEvent
|
|
66
|
-
|
|
|
66
|
+
| UnitOnLoadResponseEvent
|
|
67
67
|
| RequestDownloadEvent
|
|
68
68
|
| PlaidTokenCreatedEvent
|
|
69
69
|
| RequestExternalSdkEvent
|