download()

in frontend/src/js/components/viewer/DownloadModal.js [89:127]


    download(text) {
        let downloadable = text;
        if (this.props.resource.type === 'email') {
            const email = this.props.resource;
            const emailToString = (emailPair) => (emailPair.displayName || '') + (emailPair.displayName && emailPair.address ? ' / ' : '') + (emailPair.address || '');
            let header =
`From:
    ${emailToString(email.from)}

Recipients:
    ${email.recipients.map(r => emailToString(r)).join('\n    ')}

Sent At:
    ${
        email.sentAt
        ?
            hdate.prettyPrint(new Date(email.sentAt), {showTime: true})
        :
            '<Unknown Sent At Date>'
    }

Subject:
    ${email.subject ? email.subject : '<Unknown Subject>'}

Email Body:
================================================================================

`;

            downloadable = header + text;
        }

        var element = document.createElement('a');
        const escaped = encodeURIComponent(downloadable);
        element.setAttribute('href', 'data:text/plain;charset=utf-8,' + escaped);
        element.setAttribute('download', `${this.state.saveAs}.${this.state.extension}`);

        element.click();
    }