mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
78 lines
4.0 KiB
TypeScript
78 lines
4.0 KiB
TypeScript
import * as React from "react";
|
|
import { render } from "react-dom";
|
|
import { CSVLink, CSVDownload } from "react-csv";
|
|
|
|
const headers = [
|
|
{label: 'First Name', key: 'details.firstName'},
|
|
{label: 'Last Name', key: 'details.lastName'},
|
|
{label: 'Job', key: 'job'},
|
|
];
|
|
|
|
const headersStrings = ['foo', 'bar'];
|
|
|
|
const data = [
|
|
{details: {firstName: 'Ahmed', lastName: 'Tomi'}, job: 'manager'},
|
|
{details: {firstName: 'John', lastName: 'Jones'}, job: 'developer'},
|
|
];
|
|
|
|
const dataString = `firstname,lastname
|
|
Ahmed,Tomi
|
|
Raed,Labes
|
|
Yezzi,Min l3b
|
|
`;
|
|
|
|
const syncOnClickReturn = (event: React.MouseEventHandler<HTMLAnchorElement>) => {
|
|
window.console.log(event);
|
|
return true;
|
|
};
|
|
const syncOnClickVoid = (event: React.MouseEventHandler<HTMLAnchorElement>) => window.console.log(event);
|
|
const asyncOnClickReturn = (event: React.MouseEventHandler<HTMLAnchorElement>, done: (proceed?: boolean) => void) => {
|
|
window.console.log(event);
|
|
done(true);
|
|
};
|
|
const asyncOnClickVoid = (event: React.MouseEventHandler<HTMLAnchorElement>, done: (proceed?: boolean) => void) => {
|
|
window.console.log(event);
|
|
done();
|
|
};
|
|
|
|
const node = document.getElementById("main");
|
|
|
|
render(<CSVLink data={dataString}/>, node);
|
|
render(<CSVLink data={dataString} headers={headersStrings}/>, node);
|
|
render(<CSVLink data={data}/>, node);
|
|
render(<CSVLink data={data} headers={headers}/>, node);
|
|
render(<CSVLink data={data} headers={headers}/>, node);
|
|
render(<CSVLink data={data} headers={headers} separator={','}/>, node);
|
|
render(<CSVLink data={data} headers={headers} separator={','} filename={'bob.csv'}/>, node);
|
|
render(<CSVLink data={data} headers={headers} separator={','} filename={'bob.csv'} uFEFF={true}/>, node);
|
|
render(<CSVLink data={data} headers={headers} separator={','} filename={'bob.csv'} uFEFF={true}
|
|
enclosingCharacter={`'`}/>, node);
|
|
render(<CSVLink data={data} headers={headers} separator={','} filename={'bob.csv'} uFEFF={true} enclosingCharacter={`'`}
|
|
onClick={syncOnClickReturn}/>, node);
|
|
render(<CSVLink data={data} headers={headers} separator={','} filename={'bob.csv'} uFEFF={true} enclosingCharacter={`'`}
|
|
onClick={syncOnClickVoid}/>, node);
|
|
render(<CSVLink data={data} headers={headers} separator={','} filename={'bob.csv'} uFEFF={true} enclosingCharacter={`'`}
|
|
onClick={asyncOnClickReturn} asyncOnClick={true}/>, node);
|
|
render(<CSVLink data={data} headers={headers} separator={','} filename={'bob.csv'} uFEFF={true} enclosingCharacter={`'`}
|
|
onClick={asyncOnClickVoid} asyncOnClick={true}/>, node);
|
|
|
|
render(<CSVDownload data={dataString}/>, node);
|
|
render(<CSVDownload data={dataString} headers={headersStrings}/>, node);
|
|
render(<CSVDownload data={data}/>, node);
|
|
render(<CSVDownload data={data} headers={headers}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'} separator={','}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'} separator={','} filename={'bob.csv'}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'} separator={','} filename={'bob.csv'}
|
|
uFEFF={true}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'} separator={','} filename={'bob.csv'}
|
|
uFEFF={true}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'} separator={','} filename={'bob.csv'} uFEFF={true}
|
|
onClick={syncOnClickReturn}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'} separator={','} filename={'bob.csv'} uFEFF={true}
|
|
onClick={syncOnClickVoid}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'} separator={','} filename={'bob.csv'} uFEFF={true}
|
|
onClick={asyncOnClickReturn} asyncOnClick={true}/>, node);
|
|
render(<CSVDownload data={data} headers={headers} target={'_blank'} separator={','} filename={'bob.csv'} uFEFF={true}
|
|
onClick={asyncOnClickVoid} asyncOnClick={true}/>, node);
|