init
This commit is contained in:
242
platform/app/public/html-templates/index.html
Normal file
242
platform/app/public/html-templates/index.html
Normal file
@@ -0,0 +1,242 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, shrink-to-fit=no"
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
content="#000000"
|
||||
/>
|
||||
<meta
|
||||
name="mobile-web-app-capable"
|
||||
content="yes"
|
||||
/>
|
||||
<meta
|
||||
name="application-name"
|
||||
content="OHIF Viewer"
|
||||
/>
|
||||
<meta
|
||||
name="apple-mobile-web-app-capable"
|
||||
content="yes"
|
||||
/>
|
||||
<meta
|
||||
name="apple-mobile-web-app-status-bar-style"
|
||||
content="black-translucent"
|
||||
/>
|
||||
<meta
|
||||
name="apple-mobile-web-app-title"
|
||||
content="@ohif/app"
|
||||
/>
|
||||
<meta
|
||||
name="msapplication-TileColor"
|
||||
content="#fff"
|
||||
/>
|
||||
<meta
|
||||
name="msapplication-TileImage"
|
||||
content="<%= PUBLIC_URL %>assets/mstile-144x144.png"
|
||||
/>
|
||||
<meta
|
||||
name="msapplication-config"
|
||||
content="<%= PUBLIC_URL %>assets/browserconfig.xml"
|
||||
/>
|
||||
<script type="text/javascript">
|
||||
console.time('scriptToView');
|
||||
window.PUBLIC_URL = '<%= PUBLIC_URL %>';
|
||||
</script>
|
||||
<link
|
||||
rel="manifest"
|
||||
href="<%= PUBLIC_URL %>manifest.json"
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href="<%= PUBLIC_URL %>assets/favicon.ico"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="16x16"
|
||||
href="<%= PUBLIC_URL %>assets/favicon-16x16.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="<%= PUBLIC_URL %>assets/favicon-32x32.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="57x57"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-57x57.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="60x60"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-60x60.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="72x72"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-72x72.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="76x76"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-76x76.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="114x114"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-114x114.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="120x120"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-120x120.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="144x144"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-144x144.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="152x152"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-152x152.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="167x167"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-167x167.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="180x180"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-180x180.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="1024x1024"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-1024x1024.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-320x460.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-640x920.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-640x1096.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-750x1294.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-1182x2208.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-1242x2148.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-748x1024.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-768x1004.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-1496x2048.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-1536x2008.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="228x228"
|
||||
href="<%= PUBLIC_URL %>assets/coast-228x228.png"
|
||||
/>
|
||||
<link
|
||||
rel="yandex-tableau-widget"
|
||||
href="<%= PUBLIC_URL %>assets/yandex-browser-manifest.json"
|
||||
/>
|
||||
|
||||
<script
|
||||
rel="preload"
|
||||
as="script"
|
||||
type="text/javascript"
|
||||
src="<%= PUBLIC_URL %>app-config.js"
|
||||
></script>
|
||||
<script
|
||||
rel="preload"
|
||||
as="script"
|
||||
type="module"
|
||||
src="<%= PUBLIC_URL %>init-service-worker.js"
|
||||
></script>
|
||||
|
||||
<title>OHIF Viewer</title>
|
||||
|
||||
<!-- WEB FONTS -->
|
||||
<link
|
||||
rel="preconnect"
|
||||
href="https://fonts.gstatic.com"
|
||||
crossorigin
|
||||
/>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap"
|
||||
rel="stylesheet"
|
||||
rel="preload"
|
||||
as="style"
|
||||
/>
|
||||
<script>
|
||||
function browserImportFunction(moduleId) {
|
||||
return import(moduleId);
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<!-- EXTENSIONS -->
|
||||
<!-- <script type="text/javascript" src="path/to/some-extension.js"></script>
|
||||
|
||||
<script>
|
||||
// If configuration file is a JS Object:
|
||||
window.config.extensions = [SomeExtension];
|
||||
|
||||
// If configuration file is a JS Function:
|
||||
window.config = () => {
|
||||
return {
|
||||
extensions: [SomeExtension]
|
||||
};
|
||||
};
|
||||
</script> -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript> You need to enable JavaScript to run this app. </noscript>
|
||||
<div id="react-portal"></div>
|
||||
<div id="root">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
605
platform/app/public/html-templates/rollbar.html
Normal file
605
platform/app/public/html-templates/rollbar.html
Normal file
@@ -0,0 +1,605 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, shrink-to-fit=no"
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
content="#000000"
|
||||
/>
|
||||
<meta
|
||||
name="mobile-web-app-capable"
|
||||
content="yes"
|
||||
/>
|
||||
<meta
|
||||
name="application-name"
|
||||
content="OHIF Viewer"
|
||||
/>
|
||||
<meta
|
||||
name="apple-mobile-web-app-capable"
|
||||
content="yes"
|
||||
/>
|
||||
<meta
|
||||
name="apple-mobile-web-app-status-bar-style"
|
||||
content="black-translucent"
|
||||
/>
|
||||
<meta
|
||||
name="apple-mobile-web-app-title"
|
||||
content="@ohif/app"
|
||||
/>
|
||||
<meta
|
||||
name="msapplication-TileColor"
|
||||
content="#fff"
|
||||
/>
|
||||
<meta
|
||||
name="msapplication-TileImage"
|
||||
content="<%= PUBLIC_URL %>assets/mstile-144x144.png"
|
||||
/>
|
||||
<meta
|
||||
name="msapplication-config"
|
||||
content="<%= PUBLIC_URL %>assets/browserconfig.xml"
|
||||
/>
|
||||
<link
|
||||
rel="manifest"
|
||||
href="<%= PUBLIC_URL %>manifest.json"
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href="<%= PUBLIC_URL %>assets/favicon.ico"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="16x16"
|
||||
href="<%= PUBLIC_URL %>assets/favicon-16x16.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="<%= PUBLIC_URL %>assets/favicon-32x32.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="57x57"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-57x57.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="60x60"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-60x60.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="72x72"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-72x72.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="76x76"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-76x76.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="114x114"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-114x114.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="120x120"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-120x120.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="144x144"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-144x144.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="152x152"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-152x152.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="167x167"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-167x167.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="180x180"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-180x180.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="1024x1024"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-icon-1024x1024.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-320x460.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-640x920.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-640x1096.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-750x1294.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-1182x2208.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-1242x2148.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-748x1024.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-768x1004.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-1496x2048.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)"
|
||||
href="<%= PUBLIC_URL %>assets/apple-touch-startup-image-1536x2008.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="228x228"
|
||||
href="<%= PUBLIC_URL %>assets/coast-228x228.png"
|
||||
/>
|
||||
<link
|
||||
rel="yandex-tableau-widget"
|
||||
href="<%= PUBLIC_URL %>assets/yandex-browser-manifest.json"
|
||||
/>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.PUBLIC_URL = '<%= PUBLIC_URL %>';
|
||||
</script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<%= PUBLIC_URL %>app-config.js"
|
||||
></script>
|
||||
<script
|
||||
type="module"
|
||||
src="<%= PUBLIC_URL %>init-service-worker.js"
|
||||
></script>
|
||||
|
||||
<title>OHIF Viewer</title>
|
||||
|
||||
<!-- WEB FONTS -->
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
|
||||
<!-- EXTENSIONS -->
|
||||
<!-- <script type="text/javascript" src="path/to/some-extension.js"></script>
|
||||
|
||||
<script>
|
||||
// If configuration file is a JS Object:
|
||||
window.config.extensions = [SomeExtension];
|
||||
|
||||
// If configuration file is a JS Function:
|
||||
window.config = () => {
|
||||
return {
|
||||
extensions: [SomeExtension]
|
||||
};
|
||||
};
|
||||
</script> -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript> You need to enable JavaScript to run this app. </noscript>
|
||||
|
||||
<div id="root"></div>
|
||||
|
||||
<script>
|
||||
// Note: This is a client access token so there is no issue with having it publicly available
|
||||
var _rollbarConfig = {
|
||||
accessToken: '739c64cd39e84592ba062bc29aac9769',
|
||||
captureUncaught: true,
|
||||
captureUnhandledRejections: true,
|
||||
payload: {
|
||||
environment: 'viewer.ohif.org',
|
||||
},
|
||||
};
|
||||
// Rollbar Snippet
|
||||
!(function (r) {
|
||||
var e = {};
|
||||
function o(n) {
|
||||
if (e[n]) return e[n].exports;
|
||||
var t = (e[n] = { i: n, l: !1, exports: {} });
|
||||
return r[n].call(t.exports, t, t.exports, o), (t.l = !0), t.exports;
|
||||
}
|
||||
(o.m = r),
|
||||
(o.c = e),
|
||||
(o.d = function (r, e, n) {
|
||||
o.o(r, e) || Object.defineProperty(r, e, { enumerable: !0, get: n });
|
||||
}),
|
||||
(o.r = function (r) {
|
||||
'undefined' != typeof Symbol &&
|
||||
Symbol.toStringTag &&
|
||||
Object.defineProperty(r, Symbol.toStringTag, { value: 'Module' }),
|
||||
Object.defineProperty(r, '__esModule', { value: !0 });
|
||||
}),
|
||||
(o.t = function (r, e) {
|
||||
if ((1 & e && (r = o(r)), 8 & e)) return r;
|
||||
if (4 & e && 'object' == typeof r && r && r.__esModule) return r;
|
||||
var n = Object.create(null);
|
||||
if (
|
||||
(o.r(n),
|
||||
Object.defineProperty(n, 'default', { enumerable: !0, value: r }),
|
||||
2 & e && 'string' != typeof r)
|
||||
)
|
||||
for (var t in r)
|
||||
o.d(
|
||||
n,
|
||||
t,
|
||||
function (e) {
|
||||
return r[e];
|
||||
}.bind(null, t)
|
||||
);
|
||||
return n;
|
||||
}),
|
||||
(o.n = function (r) {
|
||||
var e =
|
||||
r && r.__esModule
|
||||
? function () {
|
||||
return r.default;
|
||||
}
|
||||
: function () {
|
||||
return r;
|
||||
};
|
||||
return o.d(e, 'a', e), e;
|
||||
}),
|
||||
(o.o = function (r, e) {
|
||||
return Object.prototype.hasOwnProperty.call(r, e);
|
||||
}),
|
||||
(o.p = ''),
|
||||
o((o.s = 0));
|
||||
})([
|
||||
function (r, e, o) {
|
||||
var n = o(1),
|
||||
t = o(4);
|
||||
(_rollbarConfig = _rollbarConfig || {}),
|
||||
(_rollbarConfig.rollbarJsUrl =
|
||||
_rollbarConfig.rollbarJsUrl ||
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/rollbar.js/2.7.1/rollbar.min.js'),
|
||||
(_rollbarConfig.async = void 0 === _rollbarConfig.async || _rollbarConfig.async);
|
||||
var a = n.setupShim(window, _rollbarConfig),
|
||||
l = t(_rollbarConfig);
|
||||
(window.rollbar = n.Rollbar),
|
||||
a.loadFull(window, document, !_rollbarConfig.async, _rollbarConfig, l);
|
||||
},
|
||||
function (r, e, o) {
|
||||
var n = o(2);
|
||||
function t(r) {
|
||||
return function () {
|
||||
try {
|
||||
return r.apply(this, arguments);
|
||||
} catch (r) {
|
||||
try {
|
||||
console.error('[Rollbar]: Internal error', r);
|
||||
} catch (r) {}
|
||||
}
|
||||
};
|
||||
}
|
||||
var a = 0;
|
||||
function l(r, e) {
|
||||
(this.options = r), (this._rollbarOldOnError = null);
|
||||
var o = a++;
|
||||
(this.shimId = function () {
|
||||
return o;
|
||||
}),
|
||||
'undefined' != typeof window &&
|
||||
window._rollbarShims &&
|
||||
(window._rollbarShims[o] = { handler: e, messages: [] });
|
||||
}
|
||||
var i = o(3),
|
||||
d = function (r, e) {
|
||||
return new l(r, e);
|
||||
},
|
||||
c = function (r) {
|
||||
return new i(d, r);
|
||||
};
|
||||
function s(r) {
|
||||
return t(function () {
|
||||
var e = Array.prototype.slice.call(arguments, 0),
|
||||
o = { shim: this, method: r, args: e, ts: new Date() };
|
||||
window._rollbarShims[this.shimId()].messages.push(o);
|
||||
});
|
||||
}
|
||||
(l.prototype.loadFull = function (r, e, o, n, a) {
|
||||
var l = !1,
|
||||
i = e.createElement('script'),
|
||||
d = e.getElementsByTagName('script')[0],
|
||||
c = d.parentNode;
|
||||
(i.crossOrigin = ''),
|
||||
(i.src = n.rollbarJsUrl),
|
||||
o || (i.async = !0),
|
||||
(i.onload = i.onreadystatechange =
|
||||
t(function () {
|
||||
if (
|
||||
!(
|
||||
l ||
|
||||
(this.readyState &&
|
||||
'loaded' !== this.readyState &&
|
||||
'complete' !== this.readyState)
|
||||
)
|
||||
) {
|
||||
i.onload = i.onreadystatechange = null;
|
||||
try {
|
||||
c.removeChild(i);
|
||||
} catch (r) {}
|
||||
(l = !0),
|
||||
(function () {
|
||||
var e;
|
||||
if (void 0 === r._rollbarDidLoad) {
|
||||
e = new Error('rollbar.js did not load');
|
||||
for (var o, n, t, l, i = 0; (o = r._rollbarShims[i++]); )
|
||||
for (o = o.messages || []; (n = o.shift()); )
|
||||
for (t = n.args || [], i = 0; i < t.length; ++i)
|
||||
if ('function' == typeof (l = t[i])) {
|
||||
l(e);
|
||||
break;
|
||||
}
|
||||
}
|
||||
'function' == typeof a && a(e);
|
||||
})();
|
||||
}
|
||||
})),
|
||||
c.insertBefore(i, d);
|
||||
}),
|
||||
(l.prototype.wrap = function (r, e, o) {
|
||||
try {
|
||||
var n;
|
||||
if (
|
||||
((n =
|
||||
'function' == typeof e
|
||||
? e
|
||||
: function () {
|
||||
return e || {};
|
||||
}),
|
||||
'function' != typeof r)
|
||||
)
|
||||
return r;
|
||||
if (r._isWrap) return r;
|
||||
if (
|
||||
!r._rollbar_wrapped &&
|
||||
((r._rollbar_wrapped = function () {
|
||||
o && 'function' == typeof o && o.apply(this, arguments);
|
||||
try {
|
||||
return r.apply(this, arguments);
|
||||
} catch (o) {
|
||||
var e = o;
|
||||
throw (
|
||||
(e &&
|
||||
('string' == typeof e && (e = new String(e)),
|
||||
(e._rollbarContext = n() || {}),
|
||||
(e._rollbarContext._wrappedSource = r.toString()),
|
||||
(window._rollbarWrappedError = e)),
|
||||
e)
|
||||
);
|
||||
}
|
||||
}),
|
||||
(r._rollbar_wrapped._isWrap = !0),
|
||||
r.hasOwnProperty)
|
||||
)
|
||||
for (var t in r) r.hasOwnProperty(t) && (r._rollbar_wrapped[t] = r[t]);
|
||||
return r._rollbar_wrapped;
|
||||
} catch (e) {
|
||||
return r;
|
||||
}
|
||||
});
|
||||
for (
|
||||
var p =
|
||||
'log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad'.split(
|
||||
','
|
||||
),
|
||||
u = 0;
|
||||
u < p.length;
|
||||
++u
|
||||
)
|
||||
l.prototype[p[u]] = s(p[u]);
|
||||
r.exports = {
|
||||
setupShim: function (r, e) {
|
||||
if (r) {
|
||||
var o = e.globalAlias || 'Rollbar';
|
||||
if ('object' == typeof r[o]) return r[o];
|
||||
(r._rollbarShims = {}), (r._rollbarWrappedError = null);
|
||||
var a = new c(e);
|
||||
return t(function () {
|
||||
e.captureUncaught &&
|
||||
((a._rollbarOldOnError = r.onerror),
|
||||
n.captureUncaughtExceptions(r, a, !0),
|
||||
n.wrapGlobals(r, a, !0)),
|
||||
e.captureUnhandledRejections && n.captureUnhandledRejections(r, a, !0);
|
||||
var t = e.autoInstrument;
|
||||
return (
|
||||
!1 !== e.enabled &&
|
||||
(void 0 === t || !0 === t || ('object' == typeof t && t.network)) &&
|
||||
r.addEventListener &&
|
||||
(r.addEventListener('load', a.captureLoad.bind(a)),
|
||||
r.addEventListener('DOMContentLoaded', a.captureDomContentLoaded.bind(a))),
|
||||
(r[o] = a),
|
||||
a
|
||||
);
|
||||
})();
|
||||
}
|
||||
},
|
||||
Rollbar: c,
|
||||
};
|
||||
},
|
||||
function (r, e) {
|
||||
function o(r, e, o) {
|
||||
if (e.hasOwnProperty && e.hasOwnProperty('addEventListener')) {
|
||||
for (var n = e.addEventListener; n._rollbarOldAdd && n.belongsToShim; )
|
||||
n = n._rollbarOldAdd;
|
||||
var t = function (e, o, t) {
|
||||
n.call(this, e, r.wrap(o), t);
|
||||
};
|
||||
(t._rollbarOldAdd = n), (t.belongsToShim = o), (e.addEventListener = t);
|
||||
for (var a = e.removeEventListener; a._rollbarOldRemove && a.belongsToShim; )
|
||||
a = a._rollbarOldRemove;
|
||||
var l = function (r, e, o) {
|
||||
a.call(this, r, (e && e._rollbar_wrapped) || e, o);
|
||||
};
|
||||
(l._rollbarOldRemove = a), (l.belongsToShim = o), (e.removeEventListener = l);
|
||||
}
|
||||
}
|
||||
r.exports = {
|
||||
captureUncaughtExceptions: function (r, e, o) {
|
||||
if (r) {
|
||||
var n;
|
||||
if ('function' == typeof e._rollbarOldOnError) n = e._rollbarOldOnError;
|
||||
else if (r.onerror) {
|
||||
for (n = r.onerror; n._rollbarOldOnError; ) n = n._rollbarOldOnError;
|
||||
e._rollbarOldOnError = n;
|
||||
}
|
||||
var t = function () {
|
||||
var o = Array.prototype.slice.call(arguments, 0);
|
||||
!(function (r, e, o, n) {
|
||||
r._rollbarWrappedError &&
|
||||
(n[4] || (n[4] = r._rollbarWrappedError),
|
||||
n[5] || (n[5] = r._rollbarWrappedError._rollbarContext),
|
||||
(r._rollbarWrappedError = null)),
|
||||
e.handleUncaughtException.apply(e, n),
|
||||
o && o.apply(r, n);
|
||||
})(r, e, n, o);
|
||||
};
|
||||
o && (t._rollbarOldOnError = n), (r.onerror = t);
|
||||
}
|
||||
},
|
||||
captureUnhandledRejections: function (r, e, o) {
|
||||
if (r) {
|
||||
'function' == typeof r._rollbarURH &&
|
||||
r._rollbarURH.belongsToShim &&
|
||||
r.removeEventListener('unhandledrejection', r._rollbarURH);
|
||||
var n = function (r) {
|
||||
var o, n, t;
|
||||
try {
|
||||
o = r.reason;
|
||||
} catch (r) {
|
||||
o = void 0;
|
||||
}
|
||||
try {
|
||||
n = r.promise;
|
||||
} catch (r) {
|
||||
n = '[unhandledrejection] error getting `promise` from event';
|
||||
}
|
||||
try {
|
||||
(t = r.detail), !o && t && ((o = t.reason), (n = t.promise));
|
||||
} catch (r) {}
|
||||
o || (o = '[unhandledrejection] error getting `reason` from event'),
|
||||
e && e.handleUnhandledRejection && e.handleUnhandledRejection(o, n);
|
||||
};
|
||||
(n.belongsToShim = o),
|
||||
(r._rollbarURH = n),
|
||||
r.addEventListener('unhandledrejection', n);
|
||||
}
|
||||
},
|
||||
wrapGlobals: function (r, e, n) {
|
||||
if (r) {
|
||||
var t,
|
||||
a,
|
||||
l =
|
||||
'EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload'.split(
|
||||
','
|
||||
);
|
||||
for (t = 0; t < l.length; ++t)
|
||||
r[(a = l[t])] && r[a].prototype && o(e, r[a].prototype, n);
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
function (r, e) {
|
||||
function o(r, e) {
|
||||
(this.impl = r(e, this)),
|
||||
(this.options = e),
|
||||
(function (r) {
|
||||
for (
|
||||
var e = function (r) {
|
||||
return function () {
|
||||
var e = Array.prototype.slice.call(arguments, 0);
|
||||
if (this.impl[r]) return this.impl[r].apply(this.impl, e);
|
||||
};
|
||||
},
|
||||
o =
|
||||
'log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad'.split(
|
||||
','
|
||||
),
|
||||
n = 0;
|
||||
n < o.length;
|
||||
n++
|
||||
)
|
||||
r[o[n]] = e(o[n]);
|
||||
})(o.prototype);
|
||||
}
|
||||
(o.prototype._swapAndProcessMessages = function (r, e) {
|
||||
var o, n, t;
|
||||
for (this.impl = r(this.options); (o = e.shift()); )
|
||||
(n = o.method),
|
||||
(t = o.args),
|
||||
this[n] &&
|
||||
'function' == typeof this[n] &&
|
||||
('captureDomContentLoaded' === n || 'captureLoad' === n
|
||||
? this[n].apply(this, [t[0], o.ts])
|
||||
: this[n].apply(this, t));
|
||||
return this;
|
||||
}),
|
||||
(r.exports = o);
|
||||
},
|
||||
function (r, e) {
|
||||
r.exports = function (r) {
|
||||
return function (e) {
|
||||
if (!e && !window._rollbarInitialized) {
|
||||
for (
|
||||
var o,
|
||||
n,
|
||||
t = (r = r || {}).globalAlias || 'Rollbar',
|
||||
a = window.rollbar,
|
||||
l = function (r) {
|
||||
return new a(r);
|
||||
},
|
||||
i = 0;
|
||||
(o = window._rollbarShims[i++]);
|
||||
|
||||
)
|
||||
n || (n = o.handler), o.handler._swapAndProcessMessages(l, o.messages);
|
||||
(window[t] = n), (window._rollbarInitialized = !0);
|
||||
}
|
||||
};
|
||||
};
|
||||
},
|
||||
]);
|
||||
// End Rollbar Snippet
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user