From f54701c5f77174f729e5b9bb5422ad4943dfce38 Mon Sep 17 00:00:00 2001 From: DD Liu <liudi@media.mit.edu> Date: Thu, 25 May 2017 14:55:40 -0400 Subject: [PATCH] add the right sprite to the stage --- src/components/library/library.jsx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/components/library/library.jsx b/src/components/library/library.jsx index 4d737d390..27cfe4116 100644 --- a/src/components/library/library.jsx +++ b/src/components/library/library.jsx @@ -23,10 +23,10 @@ class LibraryComponent extends React.Component { if (this.state.selectedItem === id) { // Double select: select as the library's value. this.props.onRequestClose(); - this.props.onItemSelected(this.props.data[id]); + this.props.onItemSelected(this.getFilteredData()[id]); } else { if (this.props.onItemChosen) { - this.props.onItemChosen(this.props.data[id]); + this.props.onItemChosen(this.getFilteredData()[id]); } } this.setState({selectedItem: id}); @@ -36,6 +36,10 @@ class LibraryComponent extends React.Component { filterQuery: event.target.value }); } + getFilteredData () { + return this.props.data.filter(dataItem => + dataItem.name.toLowerCase().indexOf(this.state.filterQuery.toLowerCase()) !== -1); + } render () { if (!this.props.visible) return null; return ( @@ -47,19 +51,17 @@ class LibraryComponent extends React.Component { onRequestClose={this.props.onRequestClose} > <div className={styles.libraryScrollGrid}> - {this.props.data.filter(dataItem => - dataItem.name.toLowerCase().indexOf(this.state.filterQuery.toLowerCase()) !== -1 - ).map((dataItem, itemId) => { + {this.getFilteredData().map((dataItem, index) => { const scratchURL = dataItem.md5 ? `https://cdn.assets.scratch.mit.edu/internalapi/asset/${dataItem.md5}/get/` : dataItem.rawURL; return ( <LibraryItem iconURL={scratchURL} - id={itemId} - key={`item_${itemId}`} + id={index} + key={`item_${index}`} name={dataItem.name} - selected={this.state.selectedItem === itemId} + selected={this.state.selectedItem === index} onSelect={this.handleSelect} /> ); -- GitLab