Implement click to save for document list

This commit is contained in:
Daniel Gasienica 2018-04-25 16:42:08 -04:00
parent 8ca5a391af
commit b74b761255
11 changed files with 61 additions and 40 deletions

View file

@ -3,10 +3,11 @@
*/
import React from 'react';
import { AttachmentType } from './types/AttachmentType';
import { DocumentListItem } from './DocumentListItem';
import { ItemClickEvent } from './events/ItemClickEvent';
import { ItemClickEvent } from './types/ItemClickEvent';
import { MediaGridItem } from './MediaGridItem';
import { Message } from './propTypes/Message';
import { Message } from './types/Message';
import { missingCaseError } from '../../../util/missingCaseError';
const styles = {
@ -30,7 +31,7 @@ const styles = {
interface Props {
i18n: (value: string) => string;
header?: string;
type: 'media' | 'documents';
type: AttachmentType;
messages: Array<Message>;
onItemClick?: (event: ItemClickEvent) => void;
}
@ -82,11 +83,11 @@ export class AttachmentSection extends React.Component<Props, {}> {
}
private createClickHandler = (message: Message) => () => {
const { onItemClick } = this.props;
const { onItemClick, type } = this.props;
if (!onItemClick) {
return;
}
onItemClick({ message });
onItemClick({ type, message });
};
}

View file

@ -6,11 +6,10 @@ import React from 'react';
import moment from 'moment';
import { AttachmentSection } from './AttachmentSection';
import { AttachmentType } from './types/AttachmentType';
import { groupMessagesByDate } from './groupMessagesByDate';
import { ItemClickEvent } from './events/ItemClickEvent';
import { Message } from './propTypes/Message';
type AttachmentType = 'media' | 'documents';
import { ItemClickEvent } from './types/ItemClickEvent';
import { Message } from './types/Message';
interface Props {
documents: Array<Message>;

View file

@ -3,7 +3,7 @@
*/
import React from 'react';
import { Message } from './propTypes/Message';
import { Message } from './types/Message';
interface Props {
message: Message;

View file

@ -1,8 +0,0 @@
/**
* @prettier
*/
import { Message } from '../propTypes/Message';
export interface ItemClickEvent {
message: Message;
}

View file

@ -4,7 +4,7 @@
import moment from 'moment';
import { compact, groupBy, sortBy } from 'lodash';
import { Message } from './propTypes/Message';
import { Message } from './types/Message';
// import { missingCaseError } from '../../../util/missingCaseError';
type StaticSectionType = 'today' | 'yesterday' | 'thisWeek' | 'thisMonth';

View file

@ -0,0 +1,4 @@
/**
* @prettier
*/
export type AttachmentType = 'media' | 'documents';

View file

@ -0,0 +1,10 @@
/**
* @prettier
*/
import { AttachmentType } from './AttachmentType';
import { Message } from './Message';
export interface ItemClickEvent {
message: Message;
type: AttachmentType;
}