react-native-unit-components
Version:
Unit React Native components
38 lines • 1.98 kB
JavaScript
import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';
import { WebComponentType } from '../../types/internal/webComponent.types';
import { UnitComponentsSDK } from '../../unitComponentsSdkManager/UnitComponentsSdkManager';
export const getCardParams = props => {
const menuItemsParam = props.menuItems ? `menu-items="${props.menuItems.join()}"` : '';
const feeParam = props.fee ? `fee="${props.fee}"` : '';
return `
card-id="${props.cardId}"
enable-mobile-wallet="${!!(props.pushProvisioningModule || UnitComponentsSDK.getPushProvisionModule())}"
hide-actions-menu-button="${props.hideActionsMenuButton || false}"
hide-card-title="${props.hideCardTitle || false}"
hide-sensitive-data-button="${props.hideSensitiveDataButton || false}"
learn-more-url="${props.learnMoreUrl || ''}"
${feeParam}
${menuItemsParam}
`;
};
export const getCardScript = () => {
return DISPATCH_REQUEST_REFRESH;
};
export const injectOpenActionsMenuScript = currentWeb => {
currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.card}')`);
};
export const injectRequestCardActionScript = (currentWeb, action) => {
currentWeb?.injectJavaScript(`dispatchRequestCardAction('${action}')`);
};
export const injectRequestHideSensitiveDataScript = currentWeb => {
currentWeb?.injectJavaScript(`dispatchRequestHideSensitiveData('${WebComponentType.card}')`);
};
export const injectRequestShowSensitiveDataScript = currentWeb => {
currentWeb?.injectJavaScript(`dispatchRequestShowSensitiveData('${WebComponentType.card}')`);
};
export const injectRefreshEventIfNeeded = (currentWeb, requestRefreshEvent, cardId) => {
if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.card.valueOf()) && requestRefreshEvent.resourceId == cardId) {
currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);
}
};
//# sourceMappingURL=UNCardComponent.utils.js.map