@wscsports/blaze-rtn-sdk
Version:
WSC Sports Blaze SDK component for React Native
114 lines (111 loc) • 4.75 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BlazeBaseWidgetView = void 0;
var _reactNative = require("react-native");
var _react = require("react");
var _utils = require("../utils");
var _commonParser = require("../classes/common-parser");
class BlazeBaseWidgetView extends _react.Component {
_onDataLoadStarted = event => {
if (this.props.widgetDelegate?.onDataLoadStarted) {
this.props.widgetDelegate?.onDataLoadStarted(event.nativeEvent);
}
};
_onDataLoadCompleted = event => {
if (this.props.widgetDelegate?.onDataLoadComplete) {
this.props.widgetDelegate?.onDataLoadComplete(event.nativeEvent);
}
};
_onPlayerDidAppear = event => {
if (this.props.widgetDelegate?.onPlayerDidAppear) {
this.props.widgetDelegate?.onPlayerDidAppear(event.nativeEvent);
}
};
_onPlayerDismiss = event => {
if (this.props.widgetDelegate?.onPlayerDidDismiss) {
this.props.widgetDelegate?.onPlayerDidDismiss(event.nativeEvent);
}
};
_onItemClicked = event => {
if (this.props.widgetDelegate?.onItemClicked) {
this.props.widgetDelegate?.onItemClicked(event.nativeEvent);
}
};
_onTriggerCTA = event => {
if (this.props.widgetDelegate?.onTriggerCTA) {
this.props.widgetDelegate?.onTriggerCTA(event.nativeEvent);
}
};
_onTriggerPlayerBodyTextLink = event => {
if (this.props.widgetDelegate?.onTriggerPlayerBodyTextLink) {
this.props.widgetDelegate?.onTriggerPlayerBodyTextLink(event.nativeEvent);
}
};
_onPlayerEventTriggered = event => {
if (this.props.widgetDelegate?.onPlayerEventTriggered) {
const nativeEvent = event.nativeEvent;
const widgetId = nativeEvent.widgetId;
const playerEventType = nativeEvent.playerEventType;
const playerEventParams = nativeEvent.playerEventParams;
const result = _commonParser.CommonParser.extractPlayerEvent(playerEventType, playerEventParams);
if (result != null) {
this.props.widgetDelegate?.onPlayerEventTriggered({
widgetId: widgetId,
playerEvent: result
});
}
}
};
reloadData(isSilentRefresh = false) {
if (this.ref) {
_reactNative.UIManager.dispatchViewManagerCommand((0, _reactNative.findNodeHandle)(this.ref), _reactNative.UIManager.getViewManagerConfig(this.getComponentName()).Commands.reloadData, [isSilentRefresh]);
}
}
updateDataSource(dataSource, isSilentRefresh = false) {
if (this.ref) {
_reactNative.UIManager.dispatchViewManagerCommand((0, _reactNative.findNodeHandle)(this.ref), _reactNative.UIManager.getViewManagerConfig(this.getComponentName()).Commands.updateDataSource, [dataSource, isSilentRefresh]);
}
}
play() {
if (this.ref) {
_reactNative.UIManager.dispatchViewManagerCommand((0, _reactNative.findNodeHandle)(this.ref), _reactNative.UIManager.getViewManagerConfig(this.getComponentName()).Commands.play);
}
}
updateOverrideStyles(perItemStyleOverrides, shouldUpdateUi) {
if (this.ref) {
const perItemStyleOverridesRecord = (0, _utils.mapToObject)(perItemStyleOverrides);
_reactNative.UIManager.dispatchViewManagerCommand((0, _reactNative.findNodeHandle)(this.ref), _reactNative.UIManager.getViewManagerConfig(this.getComponentName()).Commands.updateOverrideStyles, [perItemStyleOverridesRecord, shouldUpdateUi]);
}
}
updateWidgetsUi() {
if (this.ref) {
_reactNative.UIManager.dispatchViewManagerCommand((0, _reactNative.findNodeHandle)(this.ref), _reactNative.UIManager.getViewManagerConfig(this.getComponentName()).Commands.updateWidgetsUi);
}
}
// This method should be overridden by derived components
getComponentName() {
throw new Error('getComponentName() not implemented');
}
createBaseProps() {
const baseProps = {
...this.props,
onWidgetDataLoadStartedInternal: this._onDataLoadStarted,
onWidgetDataLoadCompletedInternal: this._onDataLoadCompleted,
onWidgetPlayerDidAppearInternal: this._onPlayerDidAppear,
onWidgetPlayerDismissedInternal: this._onPlayerDismiss,
onItemClickedInternal: this._onItemClicked,
onTriggerCTAInternal: this._onTriggerCTA,
onTriggerPlayerBodyTextLinkInternal: this._onTriggerPlayerBodyTextLink,
onPlayerEventTriggeredInternal: this._onPlayerEventTriggered
};
// If perItemStyleOverrides is defined and is a Map, convert it to an object
if (this.props.perItemStyleOverrides instanceof Map) {
baseProps.perItemStyleOverridesInternal = (0, _utils.mapToObject)(this.props.perItemStyleOverrides);
}
return baseProps;
}
}
exports.BlazeBaseWidgetView = BlazeBaseWidgetView;
//# sourceMappingURL=BlazeBaseWidgetComponent.js.map