import React from "react"; import { SpinnerCircular } from 'spinners-react'; import { getFile, getBitrixFile } from "../../../actions"; export default class DownloadPdfButton extends React.Component { constructor(props) { super(props); this.state = { downloading: false, }; } _handle_onDownloadFile = () => { const { id, filename, url, bitrix } = this.props; const { downloading } = this.state; if(!downloading) { this.setState({ downloading: true }, () => { if(bitrix) { getBitrixFile({ url, filename }) .then(() => { this.setState({ downloading: false }); }) .catch(() => { this.setState({ downloading: false }); }); } else { getFile({ id, filename }) .then(() => { this.setState({ downloading: false }); }) .catch(() => { this.setState({ downloading: false }); }); } }); } } render() { const { downloading } = this.state; return ( { this._handle_onDownloadFile() }}> { downloading ? ( ) : "Скачать" } ) } }