diff --git a/frontend/src/Author/Details/AuthorDetailsSeries.css b/frontend/src/Author/Details/AuthorDetailsSeries.css index 19c305749..1ec614d76 100644 --- a/frontend/src/Author/Details/AuthorDetailsSeries.css +++ b/frontend/src/Author/Details/AuthorDetailsSeries.css @@ -113,6 +113,11 @@ text-align: center; } +.seriesTitle { + display: flex; + padding-left: 15px; +} + @media only screen and (max-width: $breakpointSmall) { .bookType { border-right: 0; diff --git a/frontend/src/Author/Details/AuthorDetailsSeries.js b/frontend/src/Author/Details/AuthorDetailsSeries.js index 892c4c058..78b6a0b18 100644 --- a/frontend/src/Author/Details/AuthorDetailsSeries.js +++ b/frontend/src/Author/Details/AuthorDetailsSeries.js @@ -1,6 +1,7 @@ import _ from 'lodash'; import PropTypes from 'prop-types'; import React, { Component } from 'react'; +import MonitorToggleButton from 'Components/MonitorToggleButton'; import getToggledRange from 'Utilities/Table/getToggledRange'; import { icons, sortDirections } from 'Helpers/Props'; import Icon from 'Components/Icon'; @@ -53,6 +54,14 @@ class AuthorDetailsSeries extends Component { onExpandPress(id, true); } + isSeriesMonitored(series) { + return series.items.every((book) => book.monitored); + } + + isSeriesSaving(series) { + return series.items.some((book) => book.isSaving); + } + // // Listeners @@ -83,6 +92,12 @@ class AuthorDetailsSeries extends Component { this.props.onMonitorBookPress(_.uniq(bookIds), monitored); } + onMonitorSeriesPress = (monitored, { shiftKey }) => { + const bookIds = this.props.items.map((book) => book.id); + + this.props.onMonitorBookPress(_.uniq(bookIds), monitored); + } + // // Render @@ -97,47 +112,58 @@ class AuthorDetailsSeries extends Component { sortDirection, onSortPress, isSmallScreen, - onTableOptionChange + onTableOptionChange, + authorMonitored } = this.props; return (
- -
-
- { -
- - {label} - - - - ({items.length} Books) - -
- } +
+ + + +
+
+ { +
+ + {label} + + + + ({items.length} Books) + +
+ } -
+
- + - { - !isSmallScreen && -   - } + { + !isSmallScreen && +   + } -
- +
+ +
{ @@ -199,7 +225,8 @@ AuthorDetailsSeries.propTypes = { onExpandPress: PropTypes.func.isRequired, onSortPress: PropTypes.func.isRequired, onMonitorBookPress: PropTypes.func.isRequired, - uiSettings: PropTypes.object.isRequired + uiSettings: PropTypes.object.isRequired, + authorMonitored: PropTypes.object.isRequired }; export default AuthorDetailsSeries;