Files
weave-scope/client/app/scripts/components/groupings.js
David Kaltschmidt cda51ef696 grouping switch for topologies
fixes #24
2015-05-19 10:05:06 +00:00

49 lines
1.0 KiB
JavaScript

/** @jsx React.DOM */
var React = require('react');
var _ = require('lodash');
var AppActions = require('../actions/app-actions');
var AppStore = require('../stores/app-store');
var GROUPINGS = [{
id: 'none',
iconClass: 'fa fa-th'
}, {
id: 'grouped',
iconClass: 'fa fa-th-large'
}];
var Groupings = React.createClass({
onGroupingClick: function(ev) {
ev.preventDefault();
AppActions.clickGrouping(ev.currentTarget.getAttribute('rel'));
},
renderGrouping: function(grouping, active) {
var className = grouping.id === active ? "groupings-item groupings-item-active" : "groupings-item";
return (
<div className={className} key={grouping.id} rel={grouping.id} onClick={this.onGroupingClick}>
<span className={grouping.iconClass} />
</div>
);
},
render: function() {
var activeGrouping = this.props.active;
return (
<div className="groupings">
{GROUPINGS.map(function(grouping) {
return this.renderGrouping(grouping, activeGrouping);
}, this)}
</div>
);
}
});
module.exports = Groupings;