| | |
| | | useDataProvider, |
| | | useNotify, |
| | | useListContext, |
| | | useUnselectAll, |
| | | } from "react-admin"; |
| | | |
| | | const MyExportButton = (props) => { |
| | | const { |
| | | maxResults = 1000, |
| | | onClick, |
| | | ids, |
| | | label = "ra.action.export", |
| | | icon = defaultIcon, |
| | | exporter: customExporter, |
| | |
| | | ...rest |
| | | } = props; |
| | | |
| | | const { filter, filterValues, resource, sort, total } = useListContext(); |
| | | |
| | | const { filter, selectedIds, filterValues, resource, sort, total } = useListContext(); |
| | | const unSelect = useUnselectAll(resource); |
| | | const dataProvider = useDataProvider(); |
| | | const notify = useNotify(); |
| | | |
| | | const handleClick = useCallback( |
| | | const handleClick = |
| | | // useCallback( |
| | | (event) => { |
| | | dataProvider |
| | | .export(resource, { |
| | | sort, |
| | | ids: selectedIds, |
| | | filter: filter ? { ...filterValues, ...filter } : filterValues, |
| | | pagination: { page: 1, perPage: maxResults }, |
| | | meta, |
| | |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | link.remove(); |
| | | unSelect(); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | |
| | | if (typeof onClick === "function") { |
| | | onClick(event); |
| | | } |
| | | }, |
| | | [ |
| | | dataProvider, |
| | | filter, |
| | | filterValues, |
| | | maxResults, |
| | | notify, |
| | | onClick, |
| | | resource, |
| | | sort, |
| | | meta, |
| | | ], |
| | | ); |
| | | } |
| | | // [ |
| | | // dataProvider, |
| | | // filter, |
| | | // filterValues, |
| | | // maxResults, |
| | | // notify, |
| | | // onClick, |
| | | // resource, |
| | | // sort, |
| | | // meta, |
| | | // ], |
| | | // ); |
| | | |
| | | return ( |
| | | <Button |