From 690ad665c50b865a516a5fc726624134e52ead6b Mon Sep 17 00:00:00 2001 From: Bogdan Cochior <bogdan.cochior@thinslices.com> Date: Tue, 4 Sep 2018 17:37:04 +0300 Subject: [PATCH] fix(visual): title, manuscript card improvements --- .../src/ManuscriptCard.js | 26 ++++++++++------- .../src/ReviewerBreakdown.js | 4 +-- .../component-faraday-ui/src/TextTooltip.js | 28 +++++++++++++++++++ .../component-faraday-ui/src/TextTooltip.md | 9 ++++++ packages/component-faraday-ui/src/index.js | 1 + .../components/Dashboard/DashboardItems.js | 3 +- 6 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 packages/component-faraday-ui/src/TextTooltip.js create mode 100644 packages/component-faraday-ui/src/TextTooltip.md diff --git a/packages/component-faraday-ui/src/ManuscriptCard.js b/packages/component-faraday-ui/src/ManuscriptCard.js index 58e999304..0b8520fe6 100644 --- a/packages/component-faraday-ui/src/ManuscriptCard.js +++ b/packages/component-faraday-ui/src/ManuscriptCard.js @@ -13,6 +13,7 @@ import { Item, IconButton, ActionLink, + TextTooltip, AuthorTagList, ReviewerBreakdown, } from './' @@ -38,7 +39,9 @@ const ManuscriptCard = ({ <Root data-test-id={`fragment-${fragmentId}`} onClick={onCardClick}> <MainContainer> <Row alignItems="center" justify="space-between"> - <H3>{title}</H3> + <TextTooltip title={title}> + <H3>{title}</H3> + </TextTooltip> <Tag data-test-id="fragment-status" status> {visibleStatus} </Tag> @@ -52,17 +55,11 @@ const ManuscriptCard = ({ <Text customId mr={1}>{`ID ${customId}`}</Text> {submitted && ( <DateParser humanizeThreshold={0} timestamp={submitted}> - {timestamp => ( - <Text mr={3} secondary> - Submitted on {timestamp} - </Text> - )} + {timestamp => <Text mr={3}>Submitted on {timestamp}</Text>} </DateParser> )} - <H4>{manuscriptType.label || type}</H4> - <Text ml={1} secondary> - {journal} - </Text> + <Text>{manuscriptType.label || type}</Text> + <Text ml={1}>{journal}</Text> </Row> <Row alignItems="center" justify="flex-start" mb={1}> <H4>Handling editor</H4> @@ -127,10 +124,19 @@ const MainContainer = styled.div` flex-direction: column; padding: calc(${th('gridUnit')} * 2); padding-bottom: ${th('gridUnit')}; + width: 100%; ${Row} { + [data-tooltipped] { + overflow: hidden; + } ${H3} { margin-bottom: 0; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + padding-right: ${th('gridUnit')}; + flex: 11; } } ` diff --git a/packages/component-faraday-ui/src/ReviewerBreakdown.js b/packages/component-faraday-ui/src/ReviewerBreakdown.js index 5c0d5a9e5..6c64361e6 100644 --- a/packages/component-faraday-ui/src/ReviewerBreakdown.js +++ b/packages/component-faraday-ui/src/ReviewerBreakdown.js @@ -45,7 +45,7 @@ export default compose( <Fragment> {!!label && <Label>{label}</Label>} {reviewerInvitations.length ? ( - <Text secondary> + <Text> {`${reviewerInvitations.length} invited, ${ report.accepted } agreed, ${report.declined} declined, ${ @@ -53,7 +53,7 @@ export default compose( } submitted`} </Text> ) : ( - <Text secondary> {`${reviewerInvitations.length} invited`}</Text> + <Text> {`${reviewerInvitations.length} invited`}</Text> )} </Fragment> ) diff --git a/packages/component-faraday-ui/src/TextTooltip.js b/packages/component-faraday-ui/src/TextTooltip.js new file mode 100644 index 000000000..e8e45dcc3 --- /dev/null +++ b/packages/component-faraday-ui/src/TextTooltip.js @@ -0,0 +1,28 @@ +import React, { Fragment } from 'react' +import 'react-tippy/dist/tippy.css' +import { Tooltip } from 'react-tippy' +import { ThemeProvider, withTheme } from 'styled-components' +import { Text, Row } from 'pubsweet-component-faraday-ui' + +const TitleTooltip = ({ theme = {}, title = '' }) => ( + <ThemeProvider theme={theme}> + <Fragment> + <Row mt={1}> + <Text>{title}</Text> + </Row> + </Fragment> + </ThemeProvider> +) + +const TextTooltip = ({ theme = {}, children, ...rest }) => ( + <Tooltip + arrow + html={<TitleTooltip theme={theme} {...rest} />} + position="bottom" + theme="light" + > + {children} + </Tooltip> +) + +export default withTheme(TextTooltip) diff --git a/packages/component-faraday-ui/src/TextTooltip.md b/packages/component-faraday-ui/src/TextTooltip.md new file mode 100644 index 000000000..695a1627d --- /dev/null +++ b/packages/component-faraday-ui/src/TextTooltip.md @@ -0,0 +1,9 @@ +Wrap component with simple tooltip + +```js +const title = 'β-Carboline Silver Compound Binding Studies with Human Serum Albumin: A Comprehensive Multispectroscopic Analysis and Molecular Modeling Study' + +;<TextTooltip title={title}> + <div>{title}</div> +</TextTooltip> +``` diff --git a/packages/component-faraday-ui/src/index.js b/packages/component-faraday-ui/src/index.js index 04e061da8..1d0b23bd1 100644 --- a/packages/component-faraday-ui/src/index.js +++ b/packages/component-faraday-ui/src/index.js @@ -32,6 +32,7 @@ export { default as Text } from './Text' export { default as Textarea } from './Textarea' export { default as WizardAuthors } from './WizardAuthors' export { default as WizardFiles } from './WizardFiles' +export { default as TextTooltip } from './TextTooltip' export * from './manuscriptDetails' export * from './contextualBoxes' diff --git a/packages/components-faraday/src/components/Dashboard/DashboardItems.js b/packages/components-faraday/src/components/Dashboard/DashboardItems.js index b43ac4287..1239e6fa8 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardItems.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardItems.js @@ -2,6 +2,7 @@ import React from 'react' import { H3 } from '@pubsweet/ui' import { get, has } from 'lodash' import styled from 'styled-components' +import { th } from '@pubsweet/ui-toolkit' import { withRouter } from 'react-router-dom' import { ManuscriptCard, Row } from 'pubsweet-component-faraday-ui' import { compose, setDisplayName, withHandlers } from 'recompose' @@ -53,7 +54,7 @@ export default compose( // #region styles const Root = styled.div` - height: calc(100vh - 204px); + height: calc(100vh - ${th('gridUnit')} * 21); overflow-y: auto; overflow-x: hidden; div[open] { -- GitLab