@wscsports/blaze-rtn-sdk
Version:
WSC Sports Blaze SDK component for React Native
121 lines • 4.91 kB
JavaScript
import { BlazeGlobalEvents } from '../shared/BlazeGlobalEvents';
import { BlazeBasePlayerDelegateHandler } from './base-player-delegate';
export class BlazeEntryPointDelegateHelper {
static registerEntryPointDelegate(entryPointDelegate) {
BlazeEntryPointDelegateHelper.onDataLoadStarted(entryPointDelegate?.onDataLoadStarted);
BlazeEntryPointDelegateHelper.onDataLoadComplete(entryPointDelegate?.onDataLoadComplete);
BlazeEntryPointDelegateHelper.onPlayerDidAppear(entryPointDelegate?.onPlayerDidAppear);
BlazeEntryPointDelegateHelper.onPlayerDidDismiss(entryPointDelegate?.onPlayerDidDismiss);
BlazeEntryPointDelegateHelper.onTriggerCTA(entryPointDelegate?.onTriggerCTA);
BlazeEntryPointDelegateHelper.onTriggerPlayerBodyTextLink(entryPointDelegate?.onTriggerPlayerBodyTextLink);
BlazeEntryPointDelegateHelper.onPlayerEventTriggered(entryPointDelegate?.onPlayerEventTriggered);
BlazeEntryPointDelegateHelper.onTriggerCustomActionButton(entryPointDelegate?.onTriggerCustomActionButton);
BlazeEntryPointDelegateHelper.onReadStatusChanged(entryPointDelegate?.onReadStatusChanged);
}
static onDataLoadStarted(callback) {
const eventName = 'Blaze.onDataLoadStarted';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
BlazeBasePlayerDelegateHandler.handleDataLoadStarted(data, callback);
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
static onDataLoadComplete(callback) {
const eventName = 'Blaze.onDataLoadComplete';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
BlazeBasePlayerDelegateHandler.handleDataLoadComplete(data, callback);
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
static onPlayerDidAppear(callback) {
const eventName = 'Blaze.onPlayerDidAppear';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
BlazeBasePlayerDelegateHandler.handlePlayerDidAppear(data, callback);
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
static onPlayerDidDismiss(callback) {
const eventName = 'Blaze.onPlayerDidDismiss';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
BlazeBasePlayerDelegateHandler.handlePlayerDidDismiss(data, callback);
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
static onTriggerCTA(callback) {
const eventName = 'Blaze.onTriggerCTA';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
BlazeBasePlayerDelegateHandler.handleTriggerCTA(data, callback);
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
static onTriggerPlayerBodyTextLink(callback) {
const eventName = 'Blaze.onTriggerPlayerBodyTextLink';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
BlazeBasePlayerDelegateHandler.handleTriggerPlayerBodyTextLink(data, callback);
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
static onPlayerEventTriggered(callback) {
const eventName = 'Blaze.onPlayerEventTriggered';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
BlazeBasePlayerDelegateHandler.handlePlayerEventTriggered(data, callback);
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
static onTriggerCustomActionButton(callback) {
const eventName = 'Blaze.onTriggerCustomActionButton';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
BlazeBasePlayerDelegateHandler.handleTriggerCustomActionButton(data, callback);
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
static onReadStatusChanged(callback) {
const eventName = 'Blaze.onReadStatusChanged';
if (callback) {
BlazeGlobalEvents.createEventSubscription(eventName, data => {
try {
const playerType = data['playerType'];
const sourceId = data['sourceId'];
const dataSourceStringRepresentation = data['dataSourceStringRepresentation'];
const isEntireContentRead = data['isEntireContentRead'];
const itemReadStatus = data['itemReadStatus'];
callback({
playerType,
sourceId,
dataSourceStringRepresentation,
isEntireContentRead,
itemReadStatus
});
} catch (e) {
console.error('BlazeEntryPointDelegateHelper.onReadStatusChanged', e);
}
});
} else {
BlazeGlobalEvents.cancelEventSubscription(eventName);
}
}
}
//# sourceMappingURL=entry-point-delegate.js.map