From a782f817f11989d526f05208119543b1566222e3 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Thu, 30 Aug 2018 23:45:49 -0400 Subject: [PATCH] style history table --- src/renderer/component/userHistory/view.jsx | 112 +++++++++--------- .../component/userHistoryItem/index.js | 17 ++- .../component/userHistoryItem/view.jsx | 51 ++++---- src/renderer/page/file/view.jsx | 4 +- src/renderer/scss/component/_table.scss | 32 +++-- 5 files changed, 127 insertions(+), 89 deletions(-) diff --git a/src/renderer/component/userHistory/view.jsx b/src/renderer/component/userHistory/view.jsx index 0216e0b05..9c50a59ec 100644 --- a/src/renderer/component/userHistory/view.jsx +++ b/src/renderer/component/userHistory/view.jsx @@ -23,16 +23,16 @@ type Props = { class UserHistoryPage extends React.PureComponent { constructor() { super(); - + this.state = { itemsSelected: {}, - } - + }; + this.selectAll = this.selectAll.bind(this); this.unselectAll = this.unselectAll.bind(this); this.removeSelected = this.removeSelected.bind(this); } - + changePage(pageNumber: number) { const { params } = this.props; const newParams = { ...params, page: pageNumber }; @@ -51,53 +51,56 @@ class UserHistoryPage extends React.PureComponent { this.changePage(pageFromInput); } } - + onSelect(uri: string) { - console.log("onSelect", uri) this.setState({ - itemsSelected: { ...this.state.itemsSelected, [uri]: !this.state.itemsSelected[uri] } - }) + itemsSelected: { ...this.state.itemsSelected, [uri]: !this.state.itemsSelected[uri] }, + }); } - + selectAll() { const { history } = this.props; const newSelectedState = {}; - history.forEach(({uri}) => newSelectedState[uri] = true); + history.forEach(({ uri }) => (newSelectedState[uri] = true)); this.setState({ itemsSelected: newSelectedState }); } - + unselectAll() { this.setState({ - itemsSelected: {} - }) + itemsSelected: {}, + }); } - + removeSelected() { const { clearHistoryUri } = this.props; const { itemsSelected } = this.state; - + Object.keys(itemsSelected).forEach(uri => clearHistoryUri(uri)); + this.setState({ + itemsSelected: {}, + }); } render() { const { history, page, pageCount, navigate } = this.props; const { itemsSelected } = this.state; - + const allSelected = Object.keys(itemsSelected).length === history.length; const selectHandler = allSelected ? this.unselectAll : this.selectAll; return ( -
+
+ {!!Object.keys(itemsSelected).length ? ( +
{!!history.length && ( @@ -109,39 +112,40 @@ class UserHistoryPage extends React.PureComponent { lastViewed={item.lastViewed} selected={!!itemsSelected[item.uri]} onSelect={() => { - this.onSelect(item.uri) - }} /> - ))} + this.onSelect(item.uri); + }} + /> + ))}
)} - {pageCount > 1 && ( - - this.changePage(e.selected)} - forcePage={page} - initialPage={page} - containerClassName="pagination" - /> + {pageCount > 1 && ( + + this.changePage(e.selected)} + forcePage={page} + initialPage={page} + containerClassName="pagination" + /> - this.paginate(e)} - prefix={__('Go to page:')} - type="text" - /> - - )} + this.paginate(e)} + prefix={__('Go to page:')} + type="text" + /> + + )} ); } diff --git a/src/renderer/component/userHistoryItem/index.js b/src/renderer/component/userHistoryItem/index.js index 57e515d1d..a2a00ac58 100644 --- a/src/renderer/component/userHistoryItem/index.js +++ b/src/renderer/component/userHistoryItem/index.js @@ -1,9 +1,16 @@ import { connect } from 'react-redux'; -import { doResolveUri } from 'lbry-redux'; +import { doResolveUri, makeSelectClaimForUri } from 'lbry-redux'; import UserHistoryItem from './view'; -const perform = (dispatch) => ({ - resolveUri: uri => dispatch(doResolveUri(uri)), -}) +const select = (state, props) => ({ + claim: makeSelectClaimForUri(props.uri)(state), +}); -export default connect(null, perform)(UserHistoryItem); \ No newline at end of file +const perform = dispatch => ({ + resolveUri: uri => dispatch(doResolveUri(uri)), +}); + +export default connect( + select, + perform +)(UserHistoryItem); diff --git a/src/renderer/component/userHistoryItem/view.jsx b/src/renderer/component/userHistoryItem/view.jsx index 6c95fc6ed..7b84b603f 100644 --- a/src/renderer/component/userHistoryItem/view.jsx +++ b/src/renderer/component/userHistoryItem/view.jsx @@ -4,50 +4,59 @@ import type { Claim } from 'types/claim'; import moment from 'moment'; import classnames from 'classnames'; import { FormRow, FormField } from 'component/common/form'; +import Button from 'component/button'; type Props = { lastViewed: number, uri: string, - claim: ?{} + claim: ?{}, }; class UserHistoryItem extends React.PureComponent { componentDidMount() { const { claim, uri, resolveUri } = this.props; - + if (!claim) { - console.log("fetch claim") - resolveUri(uri) + resolveUri(uri); } } render() { const { lastViewed, selected, onSelect, claim } = this.props; - + let name; + let title; + let uri; if (claim) { ({ name } = claim); + ({ title } = claim.value.stream.metadata); + uri = claim.permanent_url; } return ( - - - - - - {moment(lastViewed).from(moment())} - - - {name} - + + + + + {moment(lastViewed).from(moment())} + +