UNPKG

broadage-widget-react

Version:

Broadage widgets react wrapper

350 lines (321 loc) 13.2 kB
# broadage-widget-react Broadage widgets react wrapper * Tournament list widget * Livescore widget * Tournament Info widget * Tournament Teams widget * Tournament Fixture widget * Team Fixture widget * Tournament Standings widget * Leaderboard widget * Leaderboard Points widget * Match Summary widget * Match Boxscore widget * Match Play by Play widget * Team Squad widget * Team Schedule widget * Leaderboard widget * Leaderboard Goals widget * Leaderboard Assists widget * Leaderboard Yellow Cards widget * Leaderboard Red Cards widget * Team Squad with Statistics widget * Timeline widget * Lineup widget * Formation widget * Lead Tracker widget * Match Center widget * Match Center widget * [more](https://www.broadage.com/sports-data-widgets) ### Installation `yarn add broadage-widget-react` <br/>or<br/> `npm install broadage-widget-react --save` ### Products and Documentations [Main Page](https://www.broadage.com) <br/> [Developers Guide](https://developers.broadage.com) <br/> [Widget Guide](https://developers.broadage.com/widget) ### Usage ```javascript import React, { Component, Fragment, useState } from 'react'; import BroadageWidget from 'broadage-widget-react'; export default function SampleSoccerFixture() { const onActionCallback = (widgetType, actionType, actionPayload) => { console.log(widgetType, actionType, actionPayload); }; // Soccer Fixture Sample return ( <BroadageWidget requiredFields={{ tournamentId: 1 }} options={{ lang: 'en-US' }} widget="soccerFixture" bundleId="soccer-fx" accountId="0000-0000-0000" className="widget-wrapper" queryStringParse={{ tournamentId: 'tid' }} onActionCallback={onActionCallback} /> ); } export class SampleBasketballMatchCenter extends Component { onActionCallback = (widgetType, actionType, actionPayload) => { console.log(widgetType, actionType, actionPayload); }; render() { // Basketball Match Center Sample return ( <BroadageWidget requiredFields={{ matchId: 286298 }} options={{ lang: 'fr-FR', theme: 'darkBlue' }} widget="basketballMatchCenter" bundleId="basketball-mc" accountId="0000-0000-0000" className="widget-wrapper" queryStringParse={{ matchId: 'mid' }} onActionCallback={this.onActionCallback} /> ); } } export default function ChangeOptionsSample() { const [options, setOptions] = useState({ lang: 'en-US' }); const [requiredFields, setRequiredFields] = useState({ tournamentId: 1 }); const onActionCallback = (widgetType, actionType, actionPayload) => { console.log(widgetType, actionType, actionPayload); }; const onChangeRequiredFields = () => { setRequiredFields(previousState => { return { ...previousState, tournamentId: 3 }; }); }; const onChangeOptions = () => { setOptions(previousState => { previousState.lang = 'tr-TR'; previousState.theme = 'darkBlue'; previousState.regionalMatchViewType = 'american'; return { ...previousState }; }); }; return ( <Fragment> {/* Change Tournament */} <a onClick={onChangeRequiredFields}> Change Torunament </a> {/* Change Lang, Theme, Regional Match View Type */} <a onClick={onChangeOptions}> Change Optional Fields </a> <BroadageWidget requiredFields={requiredFields} options={options} widget="soccerFixture" bundleId="soccer-fx" accountId="0000-0000-0000" className="widget-wrapper" queryStringParse={{ tournamentId: 'tid' }} onActionCallback={onActionCallback} /> </Fragment> ); } ``` ### Props | Name | Type | Description | |------------------------------------|-------------|------------------------------------------------------------------------------------| |`requiredFields` | Object | Mandatory fields for widget in work are defined in this field | |`options` (optional using) | Object | Language, theme, etc. properties are assigned in this field. | |`widget` | String | The type of widget is define in this field | |`bundleId` | String | The widget bundle id is define in this field | |`accountId` | String | Broadage account number is defined in this field | |`className` (optional using) | String | Assigns class name to main container | |`queryStringParse` (optional using) | Object | Match the URL query string and widget mandatory fields to each other. | |`onActionCallback` (optional using) | Function | This callback function is triggered by user changed filters, score change etc. | ### Widget type to bundleId In the json object below: `key: widget type` `value: bundle id` ```javascript { soccerFixture: "soccer-fx", soccerTeamSchedule: "soccer-ts", soccerTeamMatchDaySchedule: "soccer-tmds", soccerStandings: "soccer-st", soccerLiveStandings: "soccer-lstd", soccerTeamStandings: "soccer-tst", soccerH2hStandings: "soccer-hst", soccerSquadStats: "soccer-sqs", soccerLeaderboardGoals: "soccer-lbg", soccerLeaderboardAssists: "soccer-lba", soccerLeaderboardCards: "soccer-lbc", soccerTeamGoalsLeaderboard: "soccer-tglb", soccerTeamAssistsLeaderboard: "soccer-talb", soccerTeamCardsLeaderboard: "soccer-tclb", soccerLiveFixture: "soccer-lfx", soccerCommentary: "soccer-cm", soccerScoreboard: "soccer-sb", soccerLiveMatchStatistics: "soccer-lmsts", soccerTimeline: "soccer-tl", soccerLineup: "soccer-lu", soccerFormation: "soccer-fmt", soccerMatchInfo: "soccer-mi", soccerMatchCenter: "soccer-mc", soccerMissingPlayers: "soccer-mp", soccerH2hResults: "soccer-hr", soccerH2hStats: "soccer-hs", soccerMarketStats: "soccer-ms", soccerTeamForm: "soccer-tf", soccerSeasonalMarketStats: "soccer-sms", soccerTeamSeasonalStats: "soccer-tss", soccerMatchHeader: "soccer-mh", soccerTotalGoalTable: "soccer-tgt", soccerBothTeamsToScore: "soccer-btts", soccerFullTimeUnderOverTable: "soccer-ftuot", soccerHalfTimeUnderOverTable: "soccer-htuot", soccerRefereeStats: "soccer-rs", soccerStreaks: "soccer-strk", soccerGoalsRound: "soccer-gr", soccerSeasonalGoalAnalysis: "soccer-sga", soccerGoalAnalysis: "soccer-ga", soccerTournamentGoalAnalysis: "soccer-tga", soccerRefereeMatchStats: "soccer-rms", soccerH2hRivalsStandings: "soccer-hrs", soccerPositionMatrix: "soccer-pm", basketballFixture: "basketball-fx", basketballTeamSchedule: "basketball-ts", basketballTeamMatchDaySchedule: "basketball-tmds", basketballStandings: "basketball-st", basketballTeamStandings: "basketball-tst", basketballH2hStandings: "basketball-hst", basketballSquadStats: "basketball-sqs", basketballLeaderboardPointsPerGame: "basketball-lbppg", basketballLeaderboardAssistsPerGame: "basketball-lbapg", basketballLeaderboardReboundsPerGame: "basketball-lbrpg", basketballTeamAssistsLeaderboardPerGame: "basketball-talbpg", basketballTeamPointsLeaderboardPerGame: "basketball-tplbpg", basketballTeamReboundsLeaderboardPerGame: "basketball-trlbpg", basketballScoreboard: "basketball-sb", basketballMatchInfo: "basketball-mi", basketballBoxScore: "basketball-bs", basketballLeadTracker: "basketball-lt", basketballGameLeaders: "basketball-gl", basketballLiveMatchStatistics: "basketball-lmsts", basketballPlayByPlay: "basketball-pbp", basketballMatchCenter: "basketball-mc", basketballH2hResults: "basketball-hr", basketballH2hStats: "basketball-hs", basketballTeamSeasonalStats: "basketball-tss", basketballSeasonalMarketStats: "basketball-sms", basketballTeamForm: "basketball-tf", basketballMarketStats: "basketball-ms", basketballMatchHeader: "basketball-mh", basketballMissingPlayers: "basketball-mp", basketballH2hBasedPointsAnalysis: "basketball-hbpa", basketballH2hSeasonalPointsAnalysis: "basketball-hspa", basketballH2hTournamentMatchMargin: "basketball-tmm", basketballSeasonalTeamAdvancedStats: "basketball-stas", basketballFullTimeUnderOverAnalysis: "basketball-ftuoa", basketballHalfTimeUnderOverAnalysis: "basketball-htuoa", handballFixture: "handball-fx", handballTeamSchedule: "handball-ts", handballTeamMatchDaySchedule: "handball-tmds", handballStandings: "handball-st", handballTeamStandings: "handball-tst", handballH2hStandings: "handball-hst", handballH2hResults: "handball-hr", handballMatchHeader: "handball-mh", handballH2hStats: "handball-hs", handballTeamForm: "handball-tf", handballTeamSeasonalStats: "handball-tss", handballScoreboard: "handball-sb", volleyballFixture: "volleyball-fx", volleyballTeamSchedule: "volleyball-ts", volleyballTeamMatchDaySchedule: "volleyball-tmds", volleyballStandings: "volleyball-st", volleyballTeamStandings: "volleyball-tst", volleyballH2hStandings: "volleyball-hst", volleyballH2hResults: "volleyball-hr", volleyballMatchHeader: "volleyball-mh", volleyballH2hStats: "volleyball-hs", volleyballTeamForm: "volleyball-tf", volleyballTeamSeasonalStats: "volleyball-tss", volleyballScoreboard: "volleyball-sb", footballFixture: "football-fx", footballStandings: "football-st", footballScoreboard: "football-sb", footballBoxScore: "football-bs", footballLiveMatchStatistics: "football-lmsts", footballLiveTeamStatistics: "football-ltsts", footballGameLeaders: "football-gl", footballPlayByPlay: "football-pbp", footballH2hStandings: "football-hst", footballTeamSchedule: "football-ts", footballTeamStandings: "football-tst", baseballFixture: "baseball-fx", baseballStandings: "baseball-st", baseballScoreboard: "baseball-sb", baseballH2hStandings: "baseball-hst", baseballTeamSchedule: "baseball-ts", baseballTeamStandings: "baseball-tst", iceHockeyFixture: "iceHockey-fx", iceHockeyStandings: "iceHockey-st", iceHockeyScoreboard: "iceHockey-sb", iceHockeyH2hResults: "iceHockey-hr", iceHockeyH2hStats: "iceHockey-hs", iceHockeyMatchHeader: "iceHockey-mh", iceHockeyTeamSeasonalStats: "iceHockey-tss", iceHockeyTeamForm: "iceHockey-tf", iceHockeyH2hStandings: "iceHockey-hst", iceHockeyTeamSchedule: "iceHockey-ts", iceHockeyTeamStandings: "iceHockey-tst", tableTennisH2hResults: "tableTennis-hr", tableTennisH2hStats: "tableTennis-hs", tableTennisMatchHeader: "tableTennis-mh", tableTennisTeamSeasonalStats: "tableTennis-tss", tableTennisTeamForm: "tableTennis-tf", leagueOfLegendsH2hResults: "leagueOfLegends-hr", leagueOfLegendsH2hStats: "leagueOfLegends-hs", leagueOfLegendsMatchHeader: "leagueOfLegends-mh", leagueOfLegendsTeamSeasonalStats: "leagueOfLegends-tss", leagueOfLegendsTeamForm: "leagueOfLegends-tf", dotaH2hResults: "dota-hr", dotaH2hStats: "dota-hs", dotaMatchHeader: "dota-mh", dotaTeamSeasonalStats: "dota-tss", dotaTeamForm: "dota-tf", counterStrikeH2hResults: "counterStrike-hr", counterStrikeH2hStats: "counterStrike-hs", counterStrikeMatchHeader: "counterStrike-mh", counterStrikeTeamSeasonalStats: "counterStrike-tss", counterStrikeTeamForm: "counterStrike-tf", callOfDutyH2hResults: "callOfDuty-hr", callOfDutyH2hStats: "callOfDuty-hs", callOfDutyMatchHeader: "callOfDuty-mh", callOfDutyTeamSeasonalStats: "callOfDuty-tss", callOfDutyTeamForm: "callOfDuty-tf", overWatchH2hResults: "overWatch-hr", overWatchH2hStats: "overWatch-hs", overWatchMatchHeader: "overWatch-mh", overWatchTeamSeasonalStats: "overWatch-tss", overWatchTeamForm: "overWatch-tf", hearthstoneH2hResults: "hearthstone-hr", hearthstoneH2hStats: "hearthstone-hs", hearthstoneMatchHeader: "hearthstone-mh", hearthstoneTeamSeasonalStats: "hearthstone-tss", hearthstoneTeamForm: "hearthstone-tf", starCraftH2hResults: "starCraft-hr", starCraftH2hStats: "starCraft-hs", starCraftMatchHeader: "starCraft-mh", starCraftTeamSeasonalStats: "starCraft-tss", starCraftTeamForm: "starCraft-tf", fifaH2hResults: "fifa-hr", fifaH2hStats: "fifa-hs", fifaMatchHeader: "fifa-mh", fifaTeamSeasonalStats: "fifa-tss", fifaTeamForm: "fifa-tf", liveScore: "all-ls", liveScoreDetailed: "all-lsd", liveScoreTicker: "all-lst", trioCombo: "all-tc" }