123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- let _CONFIG_DATA = null;
- function getOption(name) {
- if (_CONFIG_DATA === null) {
- let configData = {};
-
- if (typeof document !== 'undefined' && document) {
- const el = document.getElementById('jupyter-config-data');
- if (el) {
- configData = JSON.parse(el.textContent || '{}');
- }
- }
- _CONFIG_DATA = configData;
- }
- return _CONFIG_DATA[name] || '';
- }
- __webpack_public_path__ = getOption('fullStaticUrl') + '/';
- if (Promise.allSettled === undefined) {
- Promise.allSettled = promises =>
- Promise.all(
- promises.map(promise =>
- promise.then(
- value => ({
- status: 'fulfilled',
- value
- }),
- reason => ({
- status: 'rejected',
- reason
- })
- )
- )
- );
- }
- function loadScript(url) {
- return new Promise((resolve, reject) => {
- const newScript = document.createElement('script');
- newScript.onerror = reject;
- newScript.onload = resolve;
- newScript.async = true;
- document.head.appendChild(newScript);
- newScript.src = url;
- });
- }
- async function loadComponent(url, scope) {
- await loadScript(url);
-
-
- await __webpack_init_sharing__('default');
- const container = window._JUPYTERLAB[scope];
-
-
- await container.init(__webpack_share_scopes__.default);
- }
- void (async function bootstrap() {
-
-
- const extension_data = getOption('federated_extensions');
-
-
-
-
-
- let labExtensionUrl = getOption('fullLabextensionsUrl');
- const extensions = await Promise.allSettled(
- extension_data.map(async data => {
- await loadComponent(
- `${labExtensionUrl}/${data.name}/${data.load}`,
- data.name
- );
- })
- );
- extensions.forEach(p => {
- if (p.status === 'rejected') {
-
- console.error(p.reason);
- }
- });
-
-
- let main = (await import('./index.out.js')).main;
- window.addEventListener('load', main);
- })();
|