opds-web-client
Version:
70 lines (69 loc) • 2.93 kB
TypeScript
import * as React from "react";
import "../stylesheets/root.scss";
import { Store } from "redux";
import { State } from "../state";
import { ComputeBreadcrumbs } from "./Breadcrumbs";
import { CollectionData, BookData, StateProps, NavigateContext, BasicAuthCallback, BasicAuthLabels } from "../interfaces";
export interface HeaderProps extends React.Props<any> {
collectionTitle: string;
bookTitle: string;
loansUrl?: string;
isSignedIn: boolean;
showBasicAuthForm: (callback: BasicAuthCallback, labels: BasicAuthLabels, title: string) => void;
clearBasicAuthCredentials: () => void;
}
export interface FooterProps extends React.Props<any> {
collection: CollectionData;
}
export interface BookDetailsContainerProps extends React.Props<any> {
bookUrl: string;
collectionUrl: string;
refreshCatalog: () => Promise<any>;
book: BookData;
}
export interface RootProps extends StateProps {
store?: Store<State>;
collectionUrl?: string;
bookUrl?: string;
proxyUrl?: string;
dispatch?: any;
setCollectionAndBook?: (collectionUrl: string, bookUrl: string) => Promise<any>;
clearCollection?: () => void;
clearBook?: () => void;
fetchSearchDescription?: (url: string) => void;
closeError?: () => void;
fetchBook?: (bookUrl: string) => Promise<any>;
refreshCollectionAndBook?: () => Promise<any>;
retryCollectionAndBook?: () => Promise<any>;
pageTitleTemplate?: (collectionTitle: string, bookTitle: string) => string;
headerTitle?: string;
fetchPage?: (url: string) => Promise<any>;
Header?: new () => __React.Component<HeaderProps, any>;
Footer?: new () => __React.Component<FooterProps, any>;
BookDetailsContainer?: new () => __React.Component<BookDetailsContainerProps, any>;
computeBreadcrumbs?: ComputeBreadcrumbs;
updateBook?: (url: string) => Promise<BookData>;
fulfillBook?: (url: string) => Promise<Blob>;
indirectFulfillBook?: (url: string, type: string) => Promise<string>;
fetchLoans?: (url: string) => Promise<any>;
saveBasicAuthCredentials?: (credentials: string) => void;
clearBasicAuthCredentials?: () => void;
showBasicAuthForm?: (callback: BasicAuthCallback, labels: BasicAuthLabels, title: string) => void;
closeErrorAndHideBasicAuthForm?: () => void;
}
export declare class Root extends React.Component<RootProps, any> {
context: NavigateContext;
static contextTypes: React.ValidationMap<RootProps>;
render(): JSX.Element;
componentWillMount(): Promise<void>;
componentDidMount(): void;
componentWillReceiveProps(nextProps: RootProps): void;
updatePageTitle(props: any): void;
handleKeyDown(event: any): void;
showPrevBook(): void;
showNextBook(): void;
showRelativeBook(relativeIndex: number): void;
loanedBookData(): BookData;
}
declare const ConnectedRoot: React.ComponentClass<any>;
export default ConnectedRoot;