implements category expansion for categorical metadata

This commit is contained in:
Colin Megill
2018-04-08 21:12:25 -07:00
parent e6e3788160
commit 83bc7b8624
+22 -11
View File
@@ -17,7 +17,8 @@ class Category extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
isChecked: true isChecked: true,
isExpanded: false
}; };
} }
@@ -42,6 +43,18 @@ class Category extends React.Component {
}) })
this.setState({isChecked: false}) this.setState({isChecked: false})
} }
renderCategoryItems() {
return _.map(alphabeticallySortedValues(this.props.values), (v, i) => {
return (
<Value
key={v}
metadataField={this.props.metadataField}
count={this.props.values[v]}
value={v}
i={i} />
)
})
}
render() { render() {
return ( return (
@@ -63,6 +76,13 @@ class Category extends React.Component {
// fontStyle: "italic", // fontStyle: "italic",
marginRight: 10, marginRight: 10,
}}> }}>
<span
style={{cursor: "pointer"}}
onClick={() => {
this.setState({isExpanded: !this.state.isExpanded})
}}>
{this.state.isExpanded ? "⯆ " : "⯈ "}
</span>
{this.props.metadataField} {this.props.metadataField}
<input <input
onChange={this.state.isChecked ? this.toggleNone.bind(this) : this.toggleAll.bind(this)} onChange={this.state.isChecked ? this.toggleNone.bind(this) : this.toggleAll.bind(this)}
@@ -83,16 +103,7 @@ class Category extends React.Component {
</div> </div>
<div> <div>
{ {
_.map(alphabeticallySortedValues(this.props.values), (v, i) => { this.state.isExpanded ? this.renderCategoryItems() : null
return (
<Value
key={v}
metadataField={this.props.metadataField}
count={this.props.values[v]}
value={v}
i={i} />
)
})
} }
</div> </div>
</div> </div>