forked from sonos/api-web-sample-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
playersController.jsx
40 lines (38 loc) · 1.36 KB
/
playersController.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import React from "react";
import { Component } from "react";
import PlayerComponentWrapper from "../Components/playerComponentWrapper";
/**
* Class component that displays every player in the current household
* See PlayerComponentWrapper and PlayerComponent for the function of each player
*/
class PlayersController extends Component {
/**
* @param props.players {Array} Array of JSON objects, each of which containing a player's information
* @param props.museClientConfig {JSON} Contains access token needed for Sonos API calls
* @param props.group {JSON} Contains information of current group, including ID and players in group
*/
constructor(props) {
super(props);
}
render() {
// Through PlayerComponentWrapper, creates a PlayerComponent for every player in props.players
const players = this.props.players;
return (
<div>
<br />
{players.map((item) => {
{/* inGroup is true if current group contains this player */}
return (<PlayerComponentWrapper
key={item.id}
group={this.props.group}
playerId={item.id}
playerName={item.name}
museClientConfig={this.props.museClientConfig}
inGroup={this.props.group.playersInGroup.hasOwnProperty(item.id)}
/>)
})}
</div>
);
}
}
export default PlayersController;