Sha256: 998839f1fedca5293036c61889e39c4387088ad9096807a99374e462f0bdaf12

Contents?: true

Size: 828 Bytes

Versions: 23

Compression:

Stored size: 828 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 download_blob(blob, filename) {
    if (typeof window.navigator.msSaveOrOpenBlob !== 'undefined') {
        window.navigator.msSaveOrOpenBlob(blob, filename);
        return;
    }

    download_url(window.URL.createObjectURL(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

23 entries across 23 versions & 1 rubygems

Version Path
sequenceserver-2.0.0 public/js/exporter.js
sequenceserver-2.0.0.rc8 public/js/exporter.js
sequenceserver-2.0.0.rc7 public/js/exporter.js
sequenceserver-2.0.0.rc6 public/js/exporter.js
sequenceserver-2.0.0.rc5 public/js/exporter.js
sequenceserver-2.0.0.rc4 public/js/exporter.js
sequenceserver-2.0.0.rc3 public/js/exporter.js
sequenceserver-2.0.0.rc2 public/js/exporter.js
sequenceserver-2.0.0.rc1 public/js/exporter.js
sequenceserver-2.0.0.beta4 public/js/exporter.js
sequenceserver-2.0.0.beta3 public/js/exporter.js
sequenceserver-2.0.0.beta1 public/js/exporter.js
sequenceserver-1.1.0.beta12 public/js/exporter.js
sequenceserver-1.1.0.beta11 public/js/exporter.js
sequenceserver-1.1.0.beta10 public/js/exporter.js
sequenceserver-1.1.0.beta8 public/js/exporter.js
sequenceserver-1.1.0.beta7 public/js/exporter.js
sequenceserver-1.1.0.beta6 public/js/exporter.js
sequenceserver-1.1.0.beta5 public/js/exporter.js
sequenceserver-1.1.0.beta4 public/js/exporter.js