plotly-icons
Version:
set of plotly icons
154 lines (117 loc) • 4.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _router = require('../lib/router');
var _router2 = _interopRequireDefault(_router);
var _unfetch = require('unfetch');
var _unfetch2 = _interopRequireDefault(_unfetch);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* global location */
var _window = window,
assetPrefix = _window.__NEXT_DATA__.assetPrefix;
exports.default = function () {
var ping = function () {
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
var url, res, payload, pageRes;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
url = assetPrefix + '/_next/on-demand-entries-ping?page=' + _router2.default.pathname;
_context.next = 4;
return (0, _unfetch2.default)(url, {
credentials: 'omit'
});
case 4:
res = _context.sent;
_context.next = 7;
return res.json();
case 7:
payload = _context.sent;
if (!payload.invalid) {
_context.next = 13;
break;
}
_context.next = 11;
return (0, _unfetch2.default)(location.href, {
credentials: 'omit'
});
case 11:
pageRes = _context.sent;
if (pageRes.status === 200) {
location.reload();
}
case 13:
_context.next = 18;
break;
case 15:
_context.prev = 15;
_context.t0 = _context['catch'](0);
console.error('Error with on-demand-entries-ping: ' + _context.t0.message);
case 18:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[0, 15]]);
}));
return function ping() {
return _ref.apply(this, arguments);
};
}();
var runPinger = function () {
var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (document.hidden) {
_context2.next = 7;
break;
}
_context2.next = 3;
return ping();
case 3:
_context2.next = 5;
return new _promise2.default(function (resolve) {
pingerTimeout = setTimeout(resolve, 5000);
});
case 5:
_context2.next = 0;
break;
case 7:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
return function runPinger() {
return _ref2.apply(this, arguments);
};
}();
_router2.default.ready(function () {
_router2.default.router.events.on('routeChangeComplete', ping);
});
var pingerTimeout = void 0;
document.addEventListener('visibilitychange', function () {
if (!document.hidden) {
runPinger();
} else {
clearTimeout(pingerTimeout);
}
}, false);
setTimeout(function () {
runPinger().catch(function (err) {
console.error(err);
});
}, 10000);
};