Sha256: f5b3db36aac9aff509ab51a94952e7d2c0944a9fad1b94c2cbc59de7b6eac94f

Contents?: true

Size: 928 Bytes

Versions: 8

Compression:

Stored size: 928 Bytes

Contents

export function download_url(url, filename) {
    var a = d3.select('body').append('a')
    .attr('download', filename)
    .style('display', 'none')
    .attr('href', url);

    a.node().click();
    setTimeout(function() {
        a.remove();
    }, 100);
}

export function generate_blob_url(blob) {
    const url = window.URL.createObjectURL(blob);
    return url;
}

export function download_blob(blob, filename) {
    if (typeof window.navigator.msSaveOrOpenBlob !== 'undefined') {
        window.navigator.msSaveOrOpenBlob(blob, filename);
    }else{
        download_url(generate_blob_url(blob), filename);
    }
}

export function sanitize_filename(str) {
    var san = str.replace(/[^a-zA-Z0-9=_\-]/g, '_');
    // Replace runs of underscores with single one.
    san = san.replace(/_{2,}/g, '_');
    // Remove any leading or trailing underscores.
    san = san.replace(/^_/, '').replace(/_$/, '');
    return san;
}

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sequenceserver-3.1.3 public/js/exporter.js
sequenceserver-3.1.2 public/js/exporter.js
sequenceserver-3.1.1 public/js/exporter.js
sequenceserver-3.1.0 public/js/exporter.js
sequenceserver-3.0.1 public/js/exporter.js
sequenceserver-3.0 public/js/exporter.js
sequenceserver-2.2.0 public/js/exporter.js
sequenceserver-2.1.0 public/js/exporter.js