netron / index.js
shethjenil's picture
Upload 30 files
d0d9416 verified
window.exports = {};
window.exports.require = function(id, callback) {
if (!/^[a-zA-Z0-9_-]+$/.test(id)) {
throw new Error("Invalid module '" + id + "'.");
}
var base = window.location.href || '';
base = base.split('?')[0].split('#')[0];
const index = base.lastIndexOf('/');
base = index > 0 ? base.substring(0, index + 1) : base;
base = base.lastIndexOf('/') === base.length - 1 ? base : base + '/';
var url = base + id + '.js';
var document = window.document;
var scripts = document.head.getElementsByTagName('script');
for (var i = 0; i < scripts.length; i++) {
if (url === scripts[i].getAttribute('src')) {
throw new Error("Duplicate import of '" + url + "'.");
}
}
var script = document.createElement('script');
script.setAttribute('id', id);
script.setAttribute('type', 'module');
/* eslint-disable no-use-before-define */
var loadHandler = function() {
script.removeEventListener('load', loadHandler);
script.removeEventListener('error', errorHandler);
callback();
};
var errorHandler = function(e) {
script.removeEventListener('load', loadHandler);
script.removeEventListener('error', errorHandler);
callback(null, new Error("The script '" + e.target.src + "' failed to load."));
};
/* eslint-enable no-use-before-define */
script.addEventListener('load', loadHandler, false);
script.addEventListener('error', errorHandler, false);
script.setAttribute('src', url);
document.head.appendChild(script);
};
window.exports.preload = function(callback) {
var modules = [
['view'],
['json', 'xml', 'protobuf', 'hdf5', 'grapher', 'browser'],
['base', 'text', 'flatbuffers', 'flexbuffers', 'zip', 'tar', 'python']
];
var next = function() {
if (modules.length === 0) {
callback();
} else {
var ids = modules.pop();
/* eslint-disable no-loop-func */
var resolved = ids.length;
for (var i = 0; i < ids.length; i++) {
window.exports.require(ids[i], function(module, error) {
if (error) {
callback(null, error);
} else {
resolved--;
if (resolved === 0) {
next();
}
}
});
}
/* eslint-enable no-loop-func */
}
};
next();
};
window.exports.terminate = function(message) {
var document = window.document;
document.getElementById('message-text').innerText = message;
var button = document.getElementById('message-button');
button.style.display = 'none';
button.onclick = null;
document.body.setAttribute('class', 'welcome message');
if (window.__view__) {
/* eslint-disable no-unused-vars */
try {
window.__view__.show('welcome message');
} catch (error) {
// continue regardless of error
}
/* eslint-enable no-unused-vars */
}
};
window.addEventListener('error', function (event) {
var error = event instanceof window.ErrorEvent && event.error && event.error instanceof Error ? event.error : new Error(event && event.message ? event.message : JSON.stringify(event));
window.exports.terminate(error.message);
});
window.addEventListener('load', function() {
if (typeof Symbol !== 'function' || typeof Symbol.asyncIterator !== 'symbol' ||
typeof BigInt !== 'function' || typeof BigInt.asIntN !== 'function' || typeof BigInt.asUintN !== 'function' || typeof DataView.prototype.getBigInt64 !== 'function') {
throw new Error('Please update your browser to use this application.');
}
var ua = window.navigator.userAgent;
var chrome = ua.match(/Chrom(e|ium)\/([0-9]+)\./);
var safari = ua.match(/Version\/(\d+)\.(\d+).*Safari/);
var firefox = ua.match(/Firefox\/([0-9]+)\./);
if ((Array.isArray(chrome) && parseInt(chrome[2], 10) < 86) ||
(Array.isArray(safari) && (parseInt(safari[1], 10) < 16 || (parseInt(safari[1], 10) === 16 && parseInt(safari[2], 10) < 4))) ||
(Array.isArray(firefox) && parseInt(firefox[1], 10) < 114)) {
throw new Error('Please update your browser to use this application.');
}
window.exports.preload(function(value, error) {
if (error) {
window.exports.terminate(error.message);
} else {
var host = new window.exports.browser.Host();
window.__view__ = new window.exports.view.View(host);
window.__view__.start();
}
});
});