var Link = ReactRouter.Link;
/**
* Provider Grid - displays all created providers.
*/
module.exports.ProviderGrid = React.createClass({
render() {
var root = this.props.root;
return (
{/* need a wrapper div to counteract card margins around the conatiner edges */}
{root.providers.map(function(provider) {
})}
{/* add provider */}
)
},
});
/**
* Provider "Card"
*/
var ProviderCard = React.createClass({
render() {
var provider = this.props.provider;
var imageStyle = {
background: "url(//pbs.twimg.com/profile_images/519977105543528448/HAc6jtgo_400x400.png)",
backgroundSize: "cover",
height: "100%"
}
return (
)
},
cardClicked() {
console.log("Click!");
}
});
/**
* Add Provider button + dialog
*/
var AddProviderButton = React.createClass({
getInitialState() {
return {
selectedPlugin: null,
selectedProvider: null,
newProviderName: null
}
},
render() {
var plugins = this.props.plugins;
return (
Add Provider
×
Add New Provider
Cancel
Add
)
},
onSelectProvider(plugin, provider) {
this.setState({
selectedPlugin: plugin,
selectedProvider: provider
});
}
});
/**
* Providers Dropdown
*/
var ProvidersDropdown = React.createClass({
render() {
var plugins = this.props.plugins;
var items = [];
plugins.forEach(function(plugin) {
items.push({plugin.name} );
plugin.providers.forEach(function(provider) {
items.push(
{provider.title}
);
}.bind(this));
}.bind(this));
return (
{ (this.props.selectedProvider && this.props.selectedProvider.title) || 'Select Provider' }
)
},
onSelectProvider(plugin, provider) {
if (this.props.onSelectProvider)
this.props.onSelectProvider(plugin, provider);
}
});
/**
* CSS Styles
*/
var Styles = {
cardsWrapper: {
margin: "-10px"
},
card: {
width: "150px",
display: "inline-block",
margin: "10px",
cursor: "pointer"
},
cardBody: {
height: "150px",
padding: "0"
},
cardFooter: {
fontSize:"100%",
fontWeight:"bold",
textAlign: "center",
background: "#fafafa"
},
cardTimestamp: {
fontSize: "80%",
fontWeight: "lighter",
display: "block",
},
addProvider: {
margin: "30px",
textAlign: "center"
}
};