1 | ;
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = void 0;
|
9 |
|
10 | var _isMobileBrowser = _interopRequireDefault(require("@lskjs/utils/isMobileBrowser"));
|
11 |
|
12 | var _isCrappyIEBrowser = _interopRequireDefault(require("@lskjs/utils/isCrappyIEBrowser"));
|
13 |
|
14 | var isIcsUrl = function isIcsUrl(url) {
|
15 | return url.startsWith('data') || url.startsWith('BEGIN');
|
16 | };
|
17 |
|
18 | var isBlobDownload = function isBlobDownload(url) {
|
19 | return !(0, _isMobileBrowser["default"])() && isIcsUrl(url);
|
20 | };
|
21 |
|
22 | var _default = function _default(url) {
|
23 | if (!isBlobDownload()) {
|
24 | window.open(url, '_blank');
|
25 | return;
|
26 | }
|
27 |
|
28 | var filename = 'download.ics';
|
29 | var blob = new Blob([url], {
|
30 | type: 'text/calendar;charset=utf-8'
|
31 | });
|
32 |
|
33 | if ((0, _isCrappyIEBrowser["default"])()) {
|
34 | window.navigator.msSaveOrOpenBlob(blob, filename);
|
35 | } else {
|
36 | /** **************************************************************
|
37 | // many browsers do not properly support downloading data URIs
|
38 | // (even with "download" attribute in use) so this solution
|
39 | // ensures the event will download cross-browser
|
40 | *************************************************************** */
|
41 | var link = document.createElement('a');
|
42 | link.href = window.URL.createObjectURL(blob);
|
43 | link.setAttribute('download', filename);
|
44 | document.body.appendChild(link);
|
45 | link.click();
|
46 | document.body.removeChild(link);
|
47 | }
|
48 | };
|
49 |
|
50 | exports["default"] = _default;
|
51 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kb3dubG9hZENhbGVuZGFyLmpzIl0sIm5hbWVzIjpbImlzSWNzVXJsIiwidXJsIiwic3RhcnRzV2l0aCIsImlzQmxvYkRvd25sb2FkIiwid2luZG93Iiwib3BlbiIsImZpbGVuYW1lIiwiYmxvYiIsIkJsb2IiLCJ0eXBlIiwibmF2aWdhdG9yIiwibXNTYXZlT3JPcGVuQmxvYiIsImxpbmsiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJocmVmIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwic2V0QXR0cmlidXRlIiwiYm9keSIsImFwcGVuZENoaWxkIiwiY2xpY2siLCJyZW1vdmVDaGlsZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUEsSUFBTUEsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ0MsR0FBRDtBQUFBLFNBQVNBLEdBQUcsQ0FBQ0MsVUFBSixDQUFlLE1BQWYsS0FBMEJELEdBQUcsQ0FBQ0MsVUFBSixDQUFlLE9BQWYsQ0FBbkM7QUFBQSxDQUFqQjs7QUFDQSxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNGLEdBQUQ7QUFBQSxTQUFTLENBQUMsa0NBQUQsSUFBc0JELFFBQVEsQ0FBQ0MsR0FBRCxDQUF2QztBQUFBLENBQXZCOztlQUVlLGtCQUFDQSxHQUFELEVBQVM7QUFDdEIsTUFBSSxDQUFDRSxjQUFjLEVBQW5CLEVBQXVCO0FBQ3JCQyxJQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWUosR0FBWixFQUFpQixRQUFqQjtBQUNBO0FBQ0Q7O0FBQ0QsTUFBTUssUUFBUSxHQUFHLGNBQWpCO0FBQ0EsTUFBTUMsSUFBSSxHQUFHLElBQUlDLElBQUosQ0FBUyxDQUFDUCxHQUFELENBQVQsRUFBZ0I7QUFBRVEsSUFBQUEsSUFBSSxFQUFFO0FBQVIsR0FBaEIsQ0FBYjs7QUFFQSxNQUFJLG9DQUFKLEVBQXlCO0FBQ3ZCTCxJQUFBQSxNQUFNLENBQUNNLFNBQVAsQ0FBaUJDLGdCQUFqQixDQUFrQ0osSUFBbEMsRUFBd0NELFFBQXhDO0FBQ0QsR0FGRCxNQUVPO0FBQ0w7Ozs7O0FBS0EsUUFBTU0sSUFBSSxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsR0FBdkIsQ0FBYjtBQUNBRixJQUFBQSxJQUFJLENBQUNHLElBQUwsR0FBWVgsTUFBTSxDQUFDWSxHQUFQLENBQVdDLGVBQVgsQ0FBMkJWLElBQTNCLENBQVo7QUFDQUssSUFBQUEsSUFBSSxDQUFDTSxZQUFMLENBQWtCLFVBQWxCLEVBQThCWixRQUE5QjtBQUNBTyxJQUFBQSxRQUFRLENBQUNNLElBQVQsQ0FBY0MsV0FBZCxDQUEwQlIsSUFBMUI7QUFDQUEsSUFBQUEsSUFBSSxDQUFDUyxLQUFMO0FBQ0FSLElBQUFBLFFBQVEsQ0FBQ00sSUFBVCxDQUFjRyxXQUFkLENBQTBCVixJQUExQjtBQUNEO0FBQ0YsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc01vYmlsZUJyb3dzZXIgZnJvbSAnQGxza2pzL3V0aWxzL2lzTW9iaWxlQnJvd3Nlcic7XG5pbXBvcnQgaXNDcmFwcHlJRUJyb3dzZXIgZnJvbSAnQGxza2pzL3V0aWxzL2lzQ3JhcHB5SUVCcm93c2VyJztcblxuY29uc3QgaXNJY3NVcmwgPSAodXJsKSA9PiB1cmwuc3RhcnRzV2l0aCgnZGF0YScpIHx8IHVybC5zdGFydHNXaXRoKCdCRUdJTicpO1xuY29uc3QgaXNCbG9iRG93bmxvYWQgPSAodXJsKSA9PiAhaXNNb2JpbGVCcm93c2VyKCkgJiYgaXNJY3NVcmwodXJsKTtcblxuZXhwb3J0IGRlZmF1bHQgKHVybCkgPT4ge1xuICBpZiAoIWlzQmxvYkRvd25sb2FkKCkpIHtcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZmlsZW5hbWUgPSAnZG93bmxvYWQuaWNzJztcbiAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt1cmxdLCB7IHR5cGU6ICd0ZXh0L2NhbGVuZGFyO2NoYXJzZXQ9dXRmLTgnIH0pO1xuXG4gIGlmIChpc0NyYXBweUlFQnJvd3NlcigpKSB7XG4gICAgd2luZG93Lm5hdmlnYXRvci5tc1NhdmVPck9wZW5CbG9iKGJsb2IsIGZpbGVuYW1lKTtcbiAgfSBlbHNlIHtcbiAgICAvKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgLy8gbWFueSBicm93c2VycyBkbyBub3QgcHJvcGVybHkgc3VwcG9ydCBkb3dubG9hZGluZyBkYXRhIFVSSXNcbiAgICAgIC8vIChldmVuIHdpdGggXCJkb3dubG9hZFwiIGF0dHJpYnV0ZSBpbiB1c2UpIHNvIHRoaXMgc29sdXRpb25cbiAgICAgIC8vIGVuc3VyZXMgdGhlIGV2ZW50IHdpbGwgZG93bmxvYWQgY3Jvc3MtYnJvd3NlclxuICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmhyZWYgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlbmFtZSk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgfVxufTtcbiJdfQ==
|
52 | //# sourceMappingURL=downloadCalendar.js.map |
\ | No newline at end of file |