From 551fa7fe105e724ae9b5db67c321b2b8a5ce0bdf Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 7 Feb 2019 18:43:43 -0800 Subject: [PATCH] Fixed: Banner not growing when most columns are hidden --- .../Series/Index/Table/SeriesIndexHeader.css | 4 ++++ .../Series/Index/Table/SeriesIndexHeader.js | 4 +++- .../src/Series/Index/Table/SeriesIndexRow.css | 4 ++++ .../src/Series/Index/Table/SeriesIndexRow.js | 10 +++++++--- .../Series/Index/Table/hasGrowableColumns.js | 18 ++++++++++++++++++ 5 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 frontend/src/Series/Index/Table/hasGrowableColumns.js diff --git a/frontend/src/Series/Index/Table/SeriesIndexHeader.css b/frontend/src/Series/Index/Table/SeriesIndexHeader.css index dc41ef595..e0de7b547 100644 --- a/frontend/src/Series/Index/Table/SeriesIndexHeader.css +++ b/frontend/src/Series/Index/Table/SeriesIndexHeader.css @@ -14,6 +14,10 @@ flex: 0 0 379px; } +.bannerGrow { + flex-grow: 1; +} + .seriesType { composes: headerCell from 'Components/Table/VirtualTableHeaderCell.css'; diff --git a/frontend/src/Series/Index/Table/SeriesIndexHeader.js b/frontend/src/Series/Index/Table/SeriesIndexHeader.js index 000882862..81dd59cb5 100644 --- a/frontend/src/Series/Index/Table/SeriesIndexHeader.js +++ b/frontend/src/Series/Index/Table/SeriesIndexHeader.js @@ -6,6 +6,7 @@ import IconButton from 'Components/Link/IconButton'; import VirtualTableHeader from 'Components/Table/VirtualTableHeader'; import VirtualTableHeaderCell from 'Components/Table/VirtualTableHeaderCell'; import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptionsModalWrapper'; +import hasGrowableColumns from './hasGrowableColumns'; import SeriesIndexTableOptionsConnector from './SeriesIndexTableOptionsConnector'; import styles from './SeriesIndexHeader.css'; @@ -60,7 +61,8 @@ function SeriesIndexHeader(props) { key={name} className={classNames( styles[name], - name === 'sortTitle' && showBanners && styles.banner + name === 'sortTitle' && showBanners && styles.banner, + name === 'sortTitle' && showBanners && !hasGrowableColumns(columns) && styles.bannerGrow )} name={name} isSortable={isSortable} diff --git a/frontend/src/Series/Index/Table/SeriesIndexRow.css b/frontend/src/Series/Index/Table/SeriesIndexRow.css index 8e3842c59..86a1f3ed2 100644 --- a/frontend/src/Series/Index/Table/SeriesIndexRow.css +++ b/frontend/src/Series/Index/Table/SeriesIndexRow.css @@ -27,6 +27,10 @@ flex: 0 0 379px; } +.bannerGrow { + flex-grow: 1; +} + .link { composes: link from 'Components/Link/Link.css'; diff --git a/frontend/src/Series/Index/Table/SeriesIndexRow.js b/frontend/src/Series/Index/Table/SeriesIndexRow.js index a704bad41..3723af5fe 100644 --- a/frontend/src/Series/Index/Table/SeriesIndexRow.js +++ b/frontend/src/Series/Index/Table/SeriesIndexRow.js @@ -19,6 +19,7 @@ import SeriesTitleLink from 'Series/SeriesTitleLink'; import EditSeriesModalConnector from 'Series/Edit/EditSeriesModalConnector'; import DeleteSeriesModal from 'Series/Delete/DeleteSeriesModal'; import SeriesBanner from 'Series/SeriesBanner'; +import hasGrowableColumns from './hasGrowableColumns'; import SeriesStatusCell from './SeriesStatusCell'; import styles from './SeriesIndexRow.css'; @@ -154,7 +155,8 @@ class SeriesIndexRow extends Component { key={name} className={classNames( styles[name], - showBanners && styles.banner + showBanners && styles.banner, + showBanners && !hasGrowableColumns(columns) && styles.bannerGrow )} > { @@ -307,8 +309,10 @@ class SeriesIndexRow extends Component { ); } - const seasonStatistics = latestSeason.statistics; - const progress = seasonStatistics.episodeCount ? seasonStatistics.episodeFileCount / seasonStatistics.episodeCount * 100 : 100; + const seasonStatistics = latestSeason.statistics || {}; + const progress = seasonStatistics.episodeCount ? + seasonStatistics.episodeFileCount / seasonStatistics.episodeCount * 100 : + 100; return ( { + const { + name, + isVisible + } = column; + + return growableColumns.includes(name) && isVisible; + }); +}