Hide separator for last document list entry
This commit is contained in:
parent
fd883b2896
commit
05f67dc04a
3 changed files with 31 additions and 5 deletions
|
@ -48,7 +48,8 @@ export class AttachmentSection extends React.Component<Props, {}> {
|
||||||
private renderItems() {
|
private renderItems() {
|
||||||
const { i18n, messages, type } = this.props;
|
const { i18n, messages, type } = this.props;
|
||||||
|
|
||||||
return messages.map(message => {
|
return messages.map((message, index, array) => {
|
||||||
|
const isLast = index === array.length - 1;
|
||||||
const { attachments } = message;
|
const { attachments } = message;
|
||||||
const firstAttachment = attachments[0];
|
const firstAttachment = attachments[0];
|
||||||
|
|
||||||
|
@ -66,11 +67,12 @@ export class AttachmentSection extends React.Component<Props, {}> {
|
||||||
return (
|
return (
|
||||||
<DocumentListItem
|
<DocumentListItem
|
||||||
key={message.id}
|
key={message.id}
|
||||||
i18n={i18n}
|
|
||||||
fileSize={firstAttachment.size}
|
|
||||||
fileName={firstAttachment.fileName}
|
fileName={firstAttachment.fileName}
|
||||||
timestamp={message.received_at}
|
fileSize={firstAttachment.size}
|
||||||
|
i18n={i18n}
|
||||||
|
isLast={isLast}
|
||||||
onClick={onClick}
|
onClick={onClick}
|
||||||
|
timestamp={message.received_at}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -7,6 +7,7 @@ interface Props {
|
||||||
fileName?: string | null;
|
fileName?: string | null;
|
||||||
fileSize?: number;
|
fileSize?: number;
|
||||||
i18n: (key: string, values?: Array<string>) => string;
|
i18n: (key: string, values?: Array<string>) => string;
|
||||||
|
isLast: boolean;
|
||||||
onClick?: () => void;
|
onClick?: () => void;
|
||||||
timestamp: number;
|
timestamp: number;
|
||||||
}
|
}
|
||||||
|
@ -15,6 +16,8 @@ const styles = {
|
||||||
container: {
|
container: {
|
||||||
width: '100%',
|
width: '100%',
|
||||||
height: 72,
|
height: 72,
|
||||||
|
},
|
||||||
|
containerSeparator: {
|
||||||
borderBottomWidth: 1,
|
borderBottomWidth: 1,
|
||||||
borderBottomColor: '#ccc',
|
borderBottomColor: '#ccc',
|
||||||
borderBottomStyle: 'solid',
|
borderBottomStyle: 'solid',
|
||||||
|
@ -78,6 +81,16 @@ export class DocumentListItem extends React.Component<Props, {}> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public render() {
|
public render() {
|
||||||
return <div style={styles.container}>{this.renderContent()}</div>;
|
const { isLast } = this.props;
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
...styles.container,
|
||||||
|
...(isLast ? {} : styles.containerSeparator),
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{this.renderContent()}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,3 +74,14 @@ const messages = _.sortBy(
|
||||||
|
|
||||||
<MediaGallery i18n={window.i18n} media={messages} documents={messages} />;
|
<MediaGallery i18n={window.i18n} media={messages} documents={messages} />;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Media gallery with one document
|
||||||
|
|
||||||
|
```jsx
|
||||||
|
const messages = [
|
||||||
|
{
|
||||||
|
attachments: [{ fileName: 'foo.jpg', contentType: 'application/json' }],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
<MediaGallery i18n={window.i18n} media={messages} documents={messages} />;
|
||||||
|
```
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue