diff --git a/src/events/events.ts b/src/events/events.ts index 2a6bd62..69cb827 100644 --- a/src/events/events.ts +++ b/src/events/events.ts @@ -34,7 +34,7 @@ export class Events { public on( eventType: T, - eventHandler: (payload: EventPayloadReturnObject[T]) => void, + eventHandler: (data: EventPayloadReturnObject[T]) => void, ) { if (!this.events[eventType]) { this.events[eventType] = [] @@ -45,14 +45,14 @@ export class Events { public emit( eventType: T, - payload: EventPayloadReturnObject[T], + data: EventPayloadReturnObject[T], ) { if (!this.events[eventType]) { return } this.events[eventType]?.forEach((eventHandler) => { - eventHandler(payload) + eventHandler(data) }) } } diff --git a/src/iframes/listener.ts b/src/iframes/listener.ts index 4299a0a..feb325c 100644 --- a/src/iframes/listener.ts +++ b/src/iframes/listener.ts @@ -60,6 +60,7 @@ export function listener() { if (event.origin !== 'https://develop.d3krxmg1839vaa.amplifyapp.com') return const { eventType, data } = event.data + const parentNode = document.querySelector(`#${data?.field}`) if (!parentNode) { diff --git a/src/iframes/submit.ts b/src/iframes/submit.ts index a3f056f..dff8159 100644 --- a/src/iframes/submit.ts +++ b/src/iframes/submit.ts @@ -6,7 +6,7 @@ export function submit(configurations: MalgaConfigurations) { const iframeCardNumber = document.querySelector( 'iframe[name=card-number]', ) as HTMLIFrameElement - + console.log('entrou aqui no submit') if (!iframeCardNumber || !iframeCardNumber.contentWindow) { console.error( 'iframeCardNumber is null or has no contentWindow, cannot send postMessage', @@ -18,6 +18,7 @@ export function submit(configurations: MalgaConfigurations) { iframeCardNumber.contentWindow!, '*', ) + console.log({ iframePostMessage }) iframePostMessage.send(Event.Submit, { authorizationData: { diff --git a/src/tokenization.ts b/src/tokenization.ts index 98e82c0..8cf0960 100644 --- a/src/tokenization.ts +++ b/src/tokenization.ts @@ -1,4 +1,8 @@ -import type { EventTypeReturn, MalgaConfigurations } from 'src/interfaces' +import type { + EventPayloadReturnObject, + EventTypeReturn, + MalgaConfigurations, +} from 'src/interfaces' import { Tokenize } from './tokenize' import { Events } from './events' @@ -27,7 +31,27 @@ export class MalgaTokenization { return tokenize.handle() } - public on(eventType: EventTypeReturn, eventHandler: (event: any) => void) { + /** + * Configures the event provider and registers an event handler for the specified event type. + * + * This method allows you to react the specifics events emitted by the MalgaTokenization component. + * + * @param eventType - The type of event to be watched. Possible values are: + * - 'validity': Triggered when the validity of the field data is changed (valid/invalid). + * - 'cardTypeChanged': Triggered when the card type is detected or changed. + * - 'focus': Triggered when a input field receives focus. + * - 'blur': Triggered when a input field loses focus. + * @param eventHandler - The event handler function. + * @returns {void} + */ + + public on( + eventType: T, + eventHandler: (data: EventPayloadReturnObject[T]) => void, + ) { return eventsEmitter.on(eventType, eventHandler) } + // public on(eventType: EventTypeReturn, eventHandler: (event: any) => void) { + // return eventsEmitter.on(eventType, eventHandler) + // } }