You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
5.8 KiB
JavaScript
110 lines
5.8 KiB
JavaScript
"use strict";
|
|
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([[8875,1650],{
|
|
|
|
/***/ 71650:
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
/* harmony export */ });
|
|
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(365);
|
|
/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22301);
|
|
/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_1__);
|
|
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95125);
|
|
/* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_2__);
|
|
/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2536);
|
|
/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_3__);
|
|
// Copyright (c) Jupyter Development Team.
|
|
// Distributed under the terms of the Modified BSD License.
|
|
|
|
|
|
|
|
|
|
/**
|
|
* A plugin to open documents in a new browser tab.
|
|
*
|
|
*/
|
|
const opener = {
|
|
id: '@jupyter-notebook/docmanager-extension:opener',
|
|
autoStart: true,
|
|
optional: [_jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_2__.INotebookPathOpener, _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_2__.INotebookShell],
|
|
provides: _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_1__.IDocumentWidgetOpener,
|
|
description: 'Open documents in a new browser tab',
|
|
activate: (app, notebookPathOpener, notebookShell) => {
|
|
const baseUrl = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PageConfig.getBaseUrl();
|
|
const docRegistry = app.docRegistry;
|
|
const pathOpener = notebookPathOpener !== null && notebookPathOpener !== void 0 ? notebookPathOpener : _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_2__.defaultNotebookPathOpener;
|
|
let id = 0;
|
|
return new (class {
|
|
constructor() {
|
|
this._opened = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__.Signal(this);
|
|
}
|
|
async open(widget, options) {
|
|
var _a, _b, _c;
|
|
const widgetName = (_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : '';
|
|
const ref = options === null || options === void 0 ? void 0 : options.ref;
|
|
// check if there is an setting override and if it would add the widget in the main area
|
|
const userLayoutArea = (_c = (_b = notebookShell === null || notebookShell === void 0 ? void 0 : notebookShell.userLayout) === null || _b === void 0 ? void 0 : _b[widgetName]) === null || _c === void 0 ? void 0 : _c.area;
|
|
if (ref !== '_noref' && userLayoutArea === undefined) {
|
|
const path = widget.context.path;
|
|
const ext = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.extname(path);
|
|
let route = 'edit';
|
|
if ((widgetName === 'default' && ext === '.ipynb') ||
|
|
widgetName.includes('Notebook')) {
|
|
// make sure to save the notebook before opening it in a new tab
|
|
// so the kernel info is saved (if created from the New dropdown)
|
|
if (widget.context.sessionContext.kernelPreference.name) {
|
|
await widget.context.save();
|
|
}
|
|
route = 'notebooks';
|
|
}
|
|
// append ?factory only if it's not the default
|
|
const defaultFactory = docRegistry.defaultWidgetFactory(path);
|
|
let searchParams = undefined;
|
|
if (widgetName !== defaultFactory.name) {
|
|
searchParams = new URLSearchParams({
|
|
factory: widgetName,
|
|
});
|
|
}
|
|
pathOpener.open({
|
|
prefix: _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.URLExt.join(baseUrl, route),
|
|
path,
|
|
searchParams,
|
|
});
|
|
// dispose the widget since it is not used on this page
|
|
widget.dispose();
|
|
return;
|
|
}
|
|
// otherwise open the document on the current page
|
|
if (!widget.id) {
|
|
widget.id = `document-manager-${++id}`;
|
|
}
|
|
widget.title.dataset = {
|
|
type: 'document-title',
|
|
...widget.title.dataset,
|
|
};
|
|
if (!widget.isAttached) {
|
|
app.shell.add(widget, 'main', options || {});
|
|
}
|
|
app.shell.activateById(widget.id);
|
|
this._opened.emit(widget);
|
|
}
|
|
get opened() {
|
|
return this._opened;
|
|
}
|
|
})();
|
|
},
|
|
};
|
|
/**
|
|
* Export the plugins as default.
|
|
*/
|
|
const plugins = [opener];
|
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugins);
|
|
|
|
|
|
/***/ })
|
|
|
|
}]);
|
|
//# sourceMappingURL=8875.bf487c9ab456b4558c0e.js.map?v=bf487c9ab456b4558c0e
|