@@ -56,6 +56,9 @@ const inclusionStatuses = [
5656 'replaced' ,
5757] ;
5858
59+ /** Get data set */
60+ const getDataFiles = ( items ) => _ ( ( items && items . length > 0 ) ? items : [ ] ) . uniq ( ( file ) => file [ '@id' ] ) ;
61+
5962/**
6063 * Compile the usable experiment analysis objects into a form for rendering a dropdown of pipeline
6164 * labs. Export for Jest test.
@@ -257,7 +260,7 @@ export class FileTable extends React.Component {
257260
258261 const nonAnalysisObjectPrefix = 'Other' ;
259262
260- let datasetFiles = _ ( ( items && items . length > 0 ) ? items : [ ] ) . uniq ( ( file ) => file [ '@id' ] ) ;
263+ let datasetFiles = getDataFiles ( items ) ;
261264 if ( datasetFiles . length > 0 ) {
262265 const unfilteredCount = datasetFiles . length ;
263266
@@ -1433,8 +1436,8 @@ class FilterControls extends React.Component {
14331436 }
14341437
14351438 render ( ) {
1436- const { filterOptions, selectedFilterValue, browsers, currentBrowser, browserChangeHandler, visualizeHandler, context , inclusionOn } = this . props ;
1437- const contextFiles = ( context . files || [ ] ) . filter ( ( file ) => ( inclusionOn ? file : inclusionStatuses . indexOf ( file . status ) === - 1 ) ) ;
1439+ const { filterOptions, selectedFilterValue, browsers, currentBrowser, browserChangeHandler, visualizeHandler, items } = this . props ;
1440+ const datasetFiles = getDataFiles ( items ) ;
14381441
14391442 const visualizerControls = ( filterOptions . length > 0 || browsers . length > 0 ) ?
14401443 (
@@ -1445,7 +1448,7 @@ class FilterControls extends React.Component {
14451448 </ div >
14461449 : null }
14471450 < VisualizationControls browsers = { browsers } currentBrowser = { currentBrowser } browserChangeHandler = { browserChangeHandler } visualizeHandler = { visualizeHandler } visualizeDisabled = { ! ( browsers . length > 0 ) } />
1448- { contextFiles . length > 0 ?
1451+ { datasetFiles . length > 0 ?
14491452 < div className = "file-gallery-controls__divider" >
14501453 |
14511454 </ div > :
@@ -1455,7 +1458,7 @@ class FilterControls extends React.Component {
14551458 )
14561459 : null ;
14571460
1458- const downloadBtn = contextFiles . length > 0 ?
1461+ const downloadBtn = datasetFiles . length > 0 ?
14591462 < div className = "file-gallery-controls__download" >
14601463 < button className = "btn btn-info" type = "button" onClick = { ( ) => this . setDownloadModalVisibility ( true ) } > Download All</ button >
14611464 {
@@ -1499,6 +1502,8 @@ FilterControls.propTypes = {
14991502 visualizeHandler : PropTypes . func . isRequired ,
15001503 /** include-deprecated check box checked status */
15011504 inclusionOn : PropTypes . bool ,
1505+ /** Array of files to appear in the table */
1506+ items : PropTypes . array ,
15021507} ;
15031508
15041509FilterControls . defaultProps = {
@@ -1507,6 +1512,7 @@ FilterControls.defaultProps = {
15071512 currentBrowser : '' ,
15081513 filters : [ ] ,
15091514 inclusionOn : false ,
1515+ items : [ ] ,
15101516} ;
15111517
15121518FilterControls . contextTypes = {
@@ -3362,6 +3368,7 @@ class FileGalleryRendererComponent extends React.Component {
33623368 browserChangeHandler = { this . handleBrowserChange }
33633369 visualizeHandler = { this . handleVisualize }
33643370 context = { context }
3371+ items = { includedFiles }
33653372 />
33663373 ) ;
33673374
0 commit comments