Skip to content
This repository has been archived by the owner on Jul 12, 2024. It is now read-only.

Commit

Permalink
Merge pull request #2806 from woocommerce/fix/report-column-visibility
Browse files Browse the repository at this point in the history
Fix bug with checking user preferences for report column visibility.
  • Loading branch information
jeffstieler committed Aug 19, 2019
2 parents 7f5b4ae + fec4938 commit 57c852e
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
17 changes: 11 additions & 6 deletions client/analytics/components/report-table/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,14 +108,19 @@ class ReportTable extends Component {
}

filterShownHeaders( headers, hiddenKeys ) {
if ( ! hiddenKeys || ! hiddenKeys.length ) {
return headers;
// If no user preferences, set visibilty based on column default.
if ( ! hiddenKeys ) {
return headers.map( header => ( {
...header,
visible: header.required || ! header.hiddenByDefault,
} ) );
}

return headers.map( header => {
const hidden = hiddenKeys.includes( header.key ) && ! header.required;
return { ...header, hiddenByDefault: hidden };
} );
// Set visibilty based on user preferences.
return headers.map( header => ( {
...header,
visible: header.required || ! hiddenKeys.includes( header.key ),
} ) );
}

render() {
Expand Down
10 changes: 9 additions & 1 deletion packages/components/src/table/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,15 @@ class TableCard extends Component {
}

getShowCols( headers ) {
return headers.map( ( { key, hiddenByDefault } ) => ! hiddenByDefault && key ).filter( Boolean );
return headers.map( ( { key, visible } ) => {
if (
'undefined' === typeof visible ||
visible
) {
return key;
}
return false;
} ).filter( Boolean );
}

getVisibleHeaders() {
Expand Down

0 comments on commit 57c852e

Please sign in to comment.