UNPKG

react-native-unit-components

Version:

Unit React Native components

95 lines (94 loc) 5.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.injectUnitPlaidResponse = exports.injectUnitPlaidExit = exports.injectUnitOpenPlaid = exports.injectRequestAccountActionScript = exports.injectRefreshEventIfNeeded = exports.injectOpenActionsMenuScript = exports.getPayeeParams = exports.getPayeeManagementScript = void 0; var _webComponent = require("../../types/internal/webComponent.types"); var _bodyScript = require("../../scripts/html/bodyScript"); const getPayeeParams = props => { const menuItemsParam = props.menuItems ? `menu-items="${props.menuItems.join()}"` : ''; const queryFilterParam = props.queryFilter ? `query-filter="${props.queryFilter}"` : ''; const paginationTypeParam = props.paginationType ? `pagination-type="${props.paginationType}"` : ''; const plaidAccountFiltersParam = props.plaidAccountFilters ? `plaid-account-filters="${props.plaidAccountFilters.join()}"` : ''; const plaidLinkCustomizationNameParam = props.plaidLinkCustomizationName ? `plaid-link-customization-name="${props.plaidLinkCustomizationName}"` : ''; const counterPartiesPerPageParam = props.counterPartiesPerPage ? `counterparties-per-page="${props.counterPartiesPerPage}"` : ''; const menuPlaceholderParam = props.menuPlaceholder ? `menu-placeholder="${props.menuPlaceholder}"` : ''; const flowPlaceholderParam = props.flowPlaceholder ? `flow-placeholder="${props.flowPlaceholder}"` : ''; const payeeCreationPlaceholderParam = props.payeeCreationPlaceholder ? `payee-creation-placeholder="${props.payeeCreationPlaceholder}"` : ''; const microDepositConnectionPlaceholderParam = props.microDepositConnectionPlaceholder ? `micro-deposit-connection-placeholder="${props.microDepositConnectionPlaceholder}"` : ''; return ` ${menuItemsParam} ${queryFilterParam} ${paginationTypeParam} ${counterPartiesPerPageParam} hide-title="${props.hideTitle || false}" hide-counterparty-actions-button="${props.hideCounterpartyActionsButton || false}" ${menuPlaceholderParam} ${flowPlaceholderParam} ${payeeCreationPlaceholderParam} ${microDepositConnectionPlaceholderParam} ${plaidAccountFiltersParam} ${plaidLinkCustomizationNameParam} style="height: 100%" `; }; exports.getPayeeParams = getPayeeParams; const getPayeeManagementScript = () => { return ` ${_bodyScript.LISTENERS.unitCounterpartyCreated} ${_bodyScript.LISTENERS.unitConnectedAccountCreated} ${_bodyScript.LISTENERS.unitMicroDepositConnectionCreated} ${_bodyScript.LISTENERS.unitMicroDepositConnectionRejected} ${_bodyScript.LISTENERS.requestRefresh} ${_bodyScript.DISPATCH_PLAID_RESPONSE} ${_bodyScript.DISPATCH_PLAID_EXIT} ${_bodyScript.DISPATCH_OPEN_PLAID} ${_bodyScript.DISPATCH_REQUEST_REFRESH} `; }; exports.getPayeeManagementScript = getPayeeManagementScript; const injectOpenActionsMenuScript = currentWeb => { currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${_webComponent.WebComponentType.account}')`); }; exports.injectOpenActionsMenuScript = injectOpenActionsMenuScript; const injectRequestAccountActionScript = (currentWeb, action) => { currentWeb?.injectJavaScript(`dispatchRequestAccountAction('${action}')`); }; exports.injectRequestAccountActionScript = injectRequestAccountActionScript; const injectRefreshEventIfNeeded = (currentWeb, requestRefreshEvent) => { if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(_webComponent.WebComponentType.payeeManagement.valueOf())) { currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`); } }; exports.injectRefreshEventIfNeeded = injectRefreshEventIfNeeded; const injectUnitOpenPlaid = (currentWeb, openPlaidData) => { currentWeb?.injectJavaScript(`dispatchOpenPlaidEvent(${JSON.stringify({ data: openPlaidData })})`); }; exports.injectUnitOpenPlaid = injectUnitOpenPlaid; const injectUnitPlaidResponse = (currentWeb, success) => { const successObj = { data: { publicToken: success.publicToken, metadata: JSON.parse(success.metadata.metadataJson ?? '{}') } }; currentWeb?.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`); }; exports.injectUnitPlaidResponse = injectUnitPlaidResponse; const injectUnitPlaidExit = (currentWeb, plaidLinkError) => { // Android & iOS are not consist - we will extract the needed fields from the LinkError/errorJson const errorJson = JSON.parse(plaidLinkError?.errorJson ?? '{}'); const type = plaidLinkError?.errorType ?? errorJson['error_type'] ?? ''; const code = plaidLinkError?.errorCode ?? errorJson['error_code'] ?? ''; const message = plaidLinkError?.errorMessage ?? errorJson['error_message'] ?? ''; const error = { error_type: type, error_code: code, error_message: message }; currentWeb?.injectJavaScript(`dispatchPlaidExit(${JSON.stringify(error)})`); }; exports.injectUnitPlaidExit = injectUnitPlaidExit; //# sourceMappingURL=UNPayeeManagementComponent.utils.js.map