synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
80 lines (79 loc) • 2.9 kB
TypeScript
import * as React from 'react';
import { FormData, StatusEnum } from '../../utils/synapseTypes/';
/**
* TODO: SWC-5612 - Replace token prop with SynapseContext.accessToken
*
* This wasn't done because Enzyme's shallow renderer is not currently
* compatible with the `contextType` field in the React 16+ context API.
*
* This can be fixed by rewriting tests to not rely on the shallow renderer.
*
* See here: https://github.com/enzymejs/enzyme/issues/1553
*/
export declare type SynapseFormSubmissionGridProps = {
token?: string;
formGroupId: string;
pathpart: string;
formClass?: string;
itemNoun: string;
};
declare type FileListType = 'IN_PROGRESS' | 'SUBMITTED';
declare type SynapseFormSubmissionGridState = {
inProgress: {
fileList: FormData[];
nextPageToken?: string;
};
submitted: {
fileList: FormData[];
nextPageToken?: string;
};
isLoading: boolean;
isShowInfoModal: boolean;
modalContext?: {
action: Function;
arguments: any[];
};
};
export default class SynapseFormSubmissionGrid extends React.Component<SynapseFormSubmissionGridProps, SynapseFormSubmissionGridState> {
modalTitle: string;
listingText: {
inProgress: {
subhead: string;
noRecords: string;
};
submitted: {
subhead: string;
noRecords: string;
};
};
modalCopy: JSX.Element;
static requestFilter: {
IN_PROGRESS: StatusEnum[];
SUBMITTED: StatusEnum[];
};
constructor(props: SynapseFormSubmissionGridProps);
componentDidMount(): Promise<void>;
componentDidUpdate(prevProps: SynapseFormSubmissionGridProps): Promise<void>;
refresh(token?: string): Promise<void>;
getTypeFileListing: (filter: StatusEnum[], nextPageToken?: string | undefined) => Promise<{
fileList: FormData[];
nextPageToken?: string | undefined;
}>;
getMore: (fileListType: FileListType, nextPageToken: string) => Promise<void>;
getUserFileListing: () => Promise<void>;
onError: (args: any) => void;
deleteFile: (token: string, formDataId: string) => Promise<any>;
setModalConfirmationState: (token: string, formDataId: string) => void;
renderLoading: (token: string | undefined, isLoading: boolean) => JSX.Element;
renderUnauthenticatedView: (token: string | undefined) => JSX.Element;
renderSubmissionsTable: (fileList: FormData[], pathpart: string, formGroupId: string, fileListType: FileListType, nextPageToken?: string | undefined) => JSX.Element;
renderSubmissionsTables: (inProgress: {
fileList: FormData[];
nextPageToken?: string;
}, submitted: {
fileList: FormData[];
nextPageToken?: string;
}, pathpart: string, formGroupId: string) => JSX.Element[] | JSX.Element;
render(): JSX.Element;
}
export {};