Revert "remove code related to encrypted file download button in iframe" (#7957)
* Revert "remove code related to encrypted file download button in iframe (#7940)"
This reverts commit 26216ec527
.
* udpate icon import in MFileBody
Signed-off-by: Kerry Archibald <kerrya@element.io>
This commit is contained in:
parent
8f68a43ee3
commit
d304e24a45
4 changed files with 88 additions and 5 deletions
|
@ -16,10 +16,18 @@ limitations under the License.
|
|||
|
||||
export type getIframeFn = () => HTMLIFrameElement; // eslint-disable-line @typescript-eslint/naming-convention
|
||||
|
||||
export const DEFAULT_STYLES = {
|
||||
imgSrc: "",
|
||||
imgStyle: null, // css props
|
||||
style: "",
|
||||
textContent: "",
|
||||
};
|
||||
|
||||
type DownloadOptions = {
|
||||
blob: Blob;
|
||||
name: string;
|
||||
autoDownload?: boolean;
|
||||
opts?: typeof DEFAULT_STYLES;
|
||||
};
|
||||
|
||||
// set up the iframe as a singleton so we don't have to figure out destruction of it down the line.
|
||||
|
@ -81,10 +89,11 @@ export class FileDownloader {
|
|||
return iframe;
|
||||
}
|
||||
|
||||
public async download({ blob, name, autoDownload = true }: DownloadOptions) {
|
||||
public async download({ blob, name, autoDownload = true, opts = DEFAULT_STYLES }: DownloadOptions) {
|
||||
const iframe = this.iframe; // get the iframe first just in case we need to await onload
|
||||
if (this.onLoadPromise) await this.onLoadPromise;
|
||||
iframe.contentWindow.postMessage({
|
||||
...opts,
|
||||
blob: blob,
|
||||
download: name,
|
||||
auto: autoDownload,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue