@jupyterlab/inspector-extension 4.0.0-alpha.8 → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +10 -2
- package/lib/index.js.map +1 -1
- package/package.json +13 -12
- package/src/index.ts +305 -0
package/lib/index.js
CHANGED
|
@@ -60,7 +60,11 @@ const inspector = {
|
|
|
60
60
|
(_a = inspector.content.source) === null || _a === void 0 ? void 0 : _a.onEditorChange(args);
|
|
61
61
|
}
|
|
62
62
|
if (!inspector.isAttached) {
|
|
63
|
-
shell.add(inspector, 'main', {
|
|
63
|
+
shell.add(inspector, 'main', {
|
|
64
|
+
activate: false,
|
|
65
|
+
mode: 'split-right',
|
|
66
|
+
type: 'Inspector'
|
|
67
|
+
});
|
|
64
68
|
}
|
|
65
69
|
shell.activateById(inspector.id);
|
|
66
70
|
document.body.dataset[datasetKey] = 'open';
|
|
@@ -211,7 +215,11 @@ const notebooks = {
|
|
|
211
215
|
handler.editor = cell && cell.editor;
|
|
212
216
|
// Listen for active cell changes.
|
|
213
217
|
parent.content.activeCellChanged.connect((sender, cell) => {
|
|
214
|
-
|
|
218
|
+
void (cell === null || cell === void 0 ? void 0 : cell.ready.then(() => {
|
|
219
|
+
if (cell === parent.content.activeCell) {
|
|
220
|
+
handler.editor = cell.editor;
|
|
221
|
+
}
|
|
222
|
+
}));
|
|
215
223
|
});
|
|
216
224
|
// Listen for parent disposal.
|
|
217
225
|
parent.disposed.connect(() => {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EAGhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;GAEG;AACH,IAAU,UAAU,CAInB;AAJD,WAAU,UAAU;IACL,eAAI,GAAG,gBAAgB,CAAC;IACxB,gBAAK,GAAG,iBAAiB,CAAC;IAC1B,iBAAM,GAAG,kBAAkB,CAAC;AAC3C,CAAC,EAJS,UAAU,KAAV,UAAU,QAInB;AAED;;GAEG;AACH,MAAM,SAAS,GAAsC;IACnD,EAAE,EAAE,2CAA2C;IAC/C,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,QAAQ,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,eAAe,CAAC;IACvD,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CACR,GAAoB,EACpB,UAAuB,EACvB,OAA+B,EAC/B,QAA0B,EAC1B,QAAgC,EACpB,EAAE;QACd,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CACtB,yDAAyD,CAC1D,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,WAAW,CAAC;QAC9B,MAAM,UAAU,GAAG,aAAa,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAiC;YAChE,SAAS;SACV,CAAC,CAAC;QAEH,SAAS,eAAe;YACtB,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,GAAmC,IAAI,CAAC;QAClD,IAAI,SAAyC,CAAC;QAC9C,SAAS,aAAa,CAAC,IAAY;;YACjC,IAAI,CAAC,eAAe,EAAE,EAAE;gBACtB,SAAS,GAAG,IAAI,cAAc,CAAC;oBAC7B,OAAO,EAAE,IAAI,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC;iBAC5C,CAAC,CAAC;gBACH,SAAS,CAAC,EAAE,GAAG,cAAc,CAAC;gBAC9B,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBACpC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;gBACrC,KAAK,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5B,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtD,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBAClC,MAAA,SAAS,CAAC,OAAO,CAAC,MAAM,0CAAE,cAAc,CAAC,IAAI,CAAC,CAAC;aAChD;YACD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;gBACzB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EAGhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;GAEG;AACH,IAAU,UAAU,CAInB;AAJD,WAAU,UAAU;IACL,eAAI,GAAG,gBAAgB,CAAC;IACxB,gBAAK,GAAG,iBAAiB,CAAC;IAC1B,iBAAM,GAAG,kBAAkB,CAAC;AAC3C,CAAC,EAJS,UAAU,KAAV,UAAU,QAInB;AAED;;GAEG;AACH,MAAM,SAAS,GAAsC;IACnD,EAAE,EAAE,2CAA2C;IAC/C,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,QAAQ,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,eAAe,CAAC;IACvD,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CACR,GAAoB,EACpB,UAAuB,EACvB,OAA+B,EAC/B,QAA0B,EAC1B,QAAgC,EACpB,EAAE;QACd,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CACtB,yDAAyD,CAC1D,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,WAAW,CAAC;QAC9B,MAAM,UAAU,GAAG,aAAa,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAiC;YAChE,SAAS;SACV,CAAC,CAAC;QAEH,SAAS,eAAe;YACtB,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,GAAmC,IAAI,CAAC;QAClD,IAAI,SAAyC,CAAC;QAC9C,SAAS,aAAa,CAAC,IAAY;;YACjC,IAAI,CAAC,eAAe,EAAE,EAAE;gBACtB,SAAS,GAAG,IAAI,cAAc,CAAC;oBAC7B,OAAO,EAAE,IAAI,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC;iBAC5C,CAAC,CAAC;gBACH,SAAS,CAAC,EAAE,GAAG,cAAc,CAAC;gBAC9B,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBACpC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;gBACrC,KAAK,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5B,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtD,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBAClC,MAAA,SAAS,CAAC,OAAO,CAAC,MAAM,0CAAE,cAAc,CAAC,IAAI,CAAC,CAAC;aAChD;YACD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;gBACzB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE;oBAC3B,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;aACJ;YACD,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,SAAS,cAAc;YACrB,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,0CAA0C;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;QACnD,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE;YACnC,OAAO;YACP,SAAS,EAAE,GAAG,EAAE,CACd,CAAC,SAAS;gBACV,SAAS,CAAC,UAAU;gBACpB,CAAC,SAAS,CAAC,UAAU;gBACrB,CAAC,SAAS,CAAC,SAAS;YACtB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,OAAO,EAAE,IAAI,CAAC,EAAE;;gBACd,MAAM,IAAI,GAAG,IAAI,IAAK,IAAI,CAAC,IAAe,CAAC;gBAC3C,MAAM,OAAO,GAAG,IAAI,IAAK,IAAI,CAAC,OAAmB,CAAC;gBAClD,iDAAiD;gBACjD,IAAI,eAAe,EAAE,IAAI,OAAO;oBAC9B,MAAA,SAAS,CAAC,OAAO,CAAC,MAAM,0CAAE,cAAc,CAAC,IAAI,CAAC,CAAC;;oBAC5C,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;SACF,CAAC,CAAC;QAEH,2CAA2C;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;QACpD,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE;YACpC,OAAO;YACP,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;YAClC,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;SAChC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;QACrD,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE;YACrC,OAAO;YACP,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;YAClC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACd,IAAI,eAAe,EAAE,EAAE;oBACrB,cAAc,EAAE,CAAC;iBAClB;qBAAM;oBACL,MAAM,IAAI,GAAG,IAAI,IAAK,IAAI,CAAC,IAAe,CAAC;oBAC3C,aAAa,CAAC,IAAI,CAAC,CAAC;iBACrB;YACH,CAAC;SACF,CAAC,CAAC;QAEH,4CAA4C;QAC5C,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SACxE;QAED,qDAAqD;QACrD,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;SACxE;QAED,4BAA4B;QAC5B,IAAI,QAAQ,EAAE;YACZ,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC7B,OAAO,EAAE,UAAU,CAAC,MAAM;gBAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW;aACxB,CAAC,CAAC;SACJ;QAED,gEAAgE;QAChE,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,EAAgB,EAAE,QAAQ,EAAE;YAC9D,GAAG,EAAE,GAAmC,EAAE,CACxC,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;YACtE,GAAG,EAAE,CAAC,GAAmC,EAAE,EAAE;gBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;oBACtC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;iBACnC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,QAAQ,GAAgC;IAC5C,EAAE,EAAE,0CAA0C;IAC9C,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC;IAClD,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CACR,GAAoB,EACpB,OAAmB,EACnB,QAAyB,EACzB,QAAmB,EACnB,UAAuB,EACjB,EAAE;QACR,uEAAuE;QACvE,MAAM,QAAQ,GAAwC,EAAE,CAAC;QAEzD,qDAAqD;QACrD,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YAEjE,uCAAuC;YACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;YAE9B,0BAA0B;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YACvC,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;YAErC,8BAA8B;YAC9B,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACxD,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACpC,OAAO;aACR;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,SAAS,GAAgC;IAC7C,EAAE,EAAE,2CAA2C;IAC/C,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,CAAC;IACnD,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CACR,GAAoB,EACpB,OAAmB,EACnB,SAA2B,EAC3B,QAAmB,EACb,EAAE;QACR,wEAAwE;QACxE,MAAM,QAAQ,GAAwC,EAAE,CAAC;QAEzD,sDAAsD;QACtD,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YAEjE,uCAAuC;YACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;YAE9B,0BAA0B;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YACvC,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;YAErC,kCAAkC;YAClC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACxD,KAAK,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;oBACzB,IAAI,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;wBACtC,OAAO,CAAC,MAAM,GAAG,IAAK,CAAC,MAAM,CAAC;qBAC/B;gBACH,CAAC,CAAC,CAAA,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,6DAA6D;QAC7D,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrC,OAAO;aACR;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,GAAiC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC/E,eAAe,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/inspector-extension",
|
|
3
|
-
"version": "4.0.0-
|
|
3
|
+
"version": "4.0.0-beta.0",
|
|
4
4
|
"description": "JupyterLab - Code Inspector Extension",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"lib/*.js",
|
|
29
29
|
"schema/*.json",
|
|
30
30
|
"style/**/*.css",
|
|
31
|
-
"style/index.js"
|
|
31
|
+
"style/index.js",
|
|
32
|
+
"src/**/*.{ts,tsx}"
|
|
32
33
|
],
|
|
33
34
|
"scripts": {
|
|
34
35
|
"build": "tsc -b",
|
|
@@ -37,19 +38,19 @@
|
|
|
37
38
|
"watch": "tsc -b --watch"
|
|
38
39
|
},
|
|
39
40
|
"dependencies": {
|
|
40
|
-
"@jupyterlab/application": "^4.0.0-
|
|
41
|
-
"@jupyterlab/apputils": "^4.0.0-
|
|
42
|
-
"@jupyterlab/console": "^4.0.0-
|
|
43
|
-
"@jupyterlab/inspector": "^4.0.0-
|
|
44
|
-
"@jupyterlab/launcher": "^4.0.0-
|
|
45
|
-
"@jupyterlab/notebook": "^4.0.0-
|
|
46
|
-
"@jupyterlab/translation": "^4.0.0-
|
|
47
|
-
"@jupyterlab/ui-components": "^4.0.0-
|
|
41
|
+
"@jupyterlab/application": "^4.0.0-beta.0",
|
|
42
|
+
"@jupyterlab/apputils": "^4.0.0-beta.0",
|
|
43
|
+
"@jupyterlab/console": "^4.0.0-beta.0",
|
|
44
|
+
"@jupyterlab/inspector": "^4.0.0-beta.0",
|
|
45
|
+
"@jupyterlab/launcher": "^4.0.0-beta.0",
|
|
46
|
+
"@jupyterlab/notebook": "^4.0.0-beta.0",
|
|
47
|
+
"@jupyterlab/translation": "^4.0.0-beta.0",
|
|
48
|
+
"@jupyterlab/ui-components": "^4.0.0-beta.0"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"rimraf": "~3.0.0",
|
|
51
|
-
"typedoc": "~0.
|
|
52
|
-
"typescript": "~
|
|
52
|
+
"typedoc": "~0.23.25",
|
|
53
|
+
"typescript": "~5.0.2"
|
|
53
54
|
},
|
|
54
55
|
"publishConfig": {
|
|
55
56
|
"access": "public"
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
/**
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
* @module inspector-extension
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
ILabShell,
|
|
10
|
+
ILayoutRestorer,
|
|
11
|
+
JupyterFrontEnd,
|
|
12
|
+
JupyterFrontEndPlugin
|
|
13
|
+
} from '@jupyterlab/application';
|
|
14
|
+
import {
|
|
15
|
+
ICommandPalette,
|
|
16
|
+
MainAreaWidget,
|
|
17
|
+
WidgetTracker
|
|
18
|
+
} from '@jupyterlab/apputils';
|
|
19
|
+
import { IConsoleTracker } from '@jupyterlab/console';
|
|
20
|
+
import {
|
|
21
|
+
IInspector,
|
|
22
|
+
InspectionHandler,
|
|
23
|
+
InspectorPanel,
|
|
24
|
+
KernelConnector
|
|
25
|
+
} from '@jupyterlab/inspector';
|
|
26
|
+
import { ILauncher } from '@jupyterlab/launcher';
|
|
27
|
+
import { INotebookTracker } from '@jupyterlab/notebook';
|
|
28
|
+
import { ITranslator } from '@jupyterlab/translation';
|
|
29
|
+
import { inspectorIcon } from '@jupyterlab/ui-components';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The command IDs used by the inspector plugin.
|
|
33
|
+
*/
|
|
34
|
+
namespace CommandIDs {
|
|
35
|
+
export const open = 'inspector:open';
|
|
36
|
+
export const close = 'inspector:close';
|
|
37
|
+
export const toggle = 'inspector:toggle';
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* A service providing code introspection.
|
|
42
|
+
*/
|
|
43
|
+
const inspector: JupyterFrontEndPlugin<IInspector> = {
|
|
44
|
+
id: '@jupyterlab/inspector-extension:inspector',
|
|
45
|
+
requires: [ITranslator],
|
|
46
|
+
optional: [ICommandPalette, ILauncher, ILayoutRestorer],
|
|
47
|
+
provides: IInspector,
|
|
48
|
+
autoStart: true,
|
|
49
|
+
activate: (
|
|
50
|
+
app: JupyterFrontEnd,
|
|
51
|
+
translator: ITranslator,
|
|
52
|
+
palette: ICommandPalette | null,
|
|
53
|
+
launcher: ILauncher | null,
|
|
54
|
+
restorer: ILayoutRestorer | null
|
|
55
|
+
): IInspector => {
|
|
56
|
+
const trans = translator.load('jupyterlab');
|
|
57
|
+
const { commands, shell } = app;
|
|
58
|
+
const caption = trans.__(
|
|
59
|
+
'Live updating code documentation from the active kernel'
|
|
60
|
+
);
|
|
61
|
+
const openedLabel = trans.__('Contextual Help');
|
|
62
|
+
const namespace = 'inspector';
|
|
63
|
+
const datasetKey = 'jpInspector';
|
|
64
|
+
const tracker = new WidgetTracker<MainAreaWidget<InspectorPanel>>({
|
|
65
|
+
namespace
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
function isInspectorOpen() {
|
|
69
|
+
return inspector && !inspector.isDisposed;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
let source: IInspector.IInspectable | null = null;
|
|
73
|
+
let inspector: MainAreaWidget<InspectorPanel>;
|
|
74
|
+
function openInspector(args: string): MainAreaWidget<InspectorPanel> {
|
|
75
|
+
if (!isInspectorOpen()) {
|
|
76
|
+
inspector = new MainAreaWidget({
|
|
77
|
+
content: new InspectorPanel({ translator })
|
|
78
|
+
});
|
|
79
|
+
inspector.id = 'jp-inspector';
|
|
80
|
+
inspector.title.label = openedLabel;
|
|
81
|
+
inspector.title.icon = inspectorIcon;
|
|
82
|
+
void tracker.add(inspector);
|
|
83
|
+
source = source && !source.isDisposed ? source : null;
|
|
84
|
+
inspector.content.source = source;
|
|
85
|
+
inspector.content.source?.onEditorChange(args);
|
|
86
|
+
}
|
|
87
|
+
if (!inspector.isAttached) {
|
|
88
|
+
shell.add(inspector, 'main', {
|
|
89
|
+
activate: false,
|
|
90
|
+
mode: 'split-right',
|
|
91
|
+
type: 'Inspector'
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
shell.activateById(inspector.id);
|
|
95
|
+
document.body.dataset[datasetKey] = 'open';
|
|
96
|
+
return inspector;
|
|
97
|
+
}
|
|
98
|
+
function closeInspector(): void {
|
|
99
|
+
inspector.dispose();
|
|
100
|
+
delete document.body.dataset[datasetKey];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Add inspector:open command to registry.
|
|
104
|
+
const showLabel = trans.__('Show Contextual Help');
|
|
105
|
+
commands.addCommand(CommandIDs.open, {
|
|
106
|
+
caption,
|
|
107
|
+
isEnabled: () =>
|
|
108
|
+
!inspector ||
|
|
109
|
+
inspector.isDisposed ||
|
|
110
|
+
!inspector.isAttached ||
|
|
111
|
+
!inspector.isVisible,
|
|
112
|
+
label: showLabel,
|
|
113
|
+
icon: args => (args.isLauncher ? inspectorIcon : undefined),
|
|
114
|
+
execute: args => {
|
|
115
|
+
const text = args && (args.text as string);
|
|
116
|
+
const refresh = args && (args.refresh as boolean);
|
|
117
|
+
// if inspector is open, see if we need a refresh
|
|
118
|
+
if (isInspectorOpen() && refresh)
|
|
119
|
+
inspector.content.source?.onEditorChange(text);
|
|
120
|
+
else openInspector(text);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
// Add inspector:close command to registry.
|
|
125
|
+
const closeLabel = trans.__('Hide Contextual Help');
|
|
126
|
+
commands.addCommand(CommandIDs.close, {
|
|
127
|
+
caption,
|
|
128
|
+
isEnabled: () => isInspectorOpen(),
|
|
129
|
+
label: closeLabel,
|
|
130
|
+
icon: args => (args.isLauncher ? inspectorIcon : undefined),
|
|
131
|
+
execute: () => closeInspector()
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
// Add inspector:toggle command to registry.
|
|
135
|
+
const toggleLabel = trans.__('Show Contextual Help');
|
|
136
|
+
commands.addCommand(CommandIDs.toggle, {
|
|
137
|
+
caption,
|
|
138
|
+
label: toggleLabel,
|
|
139
|
+
isToggled: () => isInspectorOpen(),
|
|
140
|
+
execute: args => {
|
|
141
|
+
if (isInspectorOpen()) {
|
|
142
|
+
closeInspector();
|
|
143
|
+
} else {
|
|
144
|
+
const text = args && (args.text as string);
|
|
145
|
+
openInspector(text);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
// Add open command to launcher if possible.
|
|
151
|
+
if (launcher) {
|
|
152
|
+
launcher.add({ command: CommandIDs.open, args: { isLauncher: true } });
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Add toggle command to command palette if possible.
|
|
156
|
+
if (palette) {
|
|
157
|
+
palette.addItem({ command: CommandIDs.toggle, category: toggleLabel });
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Handle state restoration.
|
|
161
|
+
if (restorer) {
|
|
162
|
+
void restorer.restore(tracker, {
|
|
163
|
+
command: CommandIDs.toggle,
|
|
164
|
+
name: () => 'inspector'
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Create a proxy to pass the `source` to the current inspector.
|
|
169
|
+
const proxy = Object.defineProperty({} as IInspector, 'source', {
|
|
170
|
+
get: (): IInspector.IInspectable | null =>
|
|
171
|
+
!inspector || inspector.isDisposed ? null : inspector.content.source,
|
|
172
|
+
set: (src: IInspector.IInspectable | null) => {
|
|
173
|
+
source = src && !src.isDisposed ? src : null;
|
|
174
|
+
if (inspector && !inspector.isDisposed) {
|
|
175
|
+
inspector.content.source = source;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
return proxy;
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* An extension that registers consoles for inspection.
|
|
186
|
+
*/
|
|
187
|
+
const consoles: JupyterFrontEndPlugin<void> = {
|
|
188
|
+
id: '@jupyterlab/inspector-extension:consoles',
|
|
189
|
+
requires: [IInspector, IConsoleTracker, ILabShell],
|
|
190
|
+
autoStart: true,
|
|
191
|
+
activate: (
|
|
192
|
+
app: JupyterFrontEnd,
|
|
193
|
+
manager: IInspector,
|
|
194
|
+
consoles: IConsoleTracker,
|
|
195
|
+
labShell: ILabShell,
|
|
196
|
+
translator: ITranslator
|
|
197
|
+
): void => {
|
|
198
|
+
// Maintain association of new consoles with their respective handlers.
|
|
199
|
+
const handlers: { [id: string]: InspectionHandler } = {};
|
|
200
|
+
|
|
201
|
+
// Create a handler for each console that is created.
|
|
202
|
+
consoles.widgetAdded.connect((sender, parent) => {
|
|
203
|
+
const sessionContext = parent.console.sessionContext;
|
|
204
|
+
const rendermime = parent.console.rendermime;
|
|
205
|
+
const connector = new KernelConnector({ sessionContext });
|
|
206
|
+
const handler = new InspectionHandler({ connector, rendermime });
|
|
207
|
+
|
|
208
|
+
// Associate the handler to the widget.
|
|
209
|
+
handlers[parent.id] = handler;
|
|
210
|
+
|
|
211
|
+
// Set the initial editor.
|
|
212
|
+
const cell = parent.console.promptCell;
|
|
213
|
+
handler.editor = cell && cell.editor;
|
|
214
|
+
|
|
215
|
+
// Listen for prompt creation.
|
|
216
|
+
parent.console.promptCellCreated.connect((sender, cell) => {
|
|
217
|
+
handler.editor = cell && cell.editor;
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
// Listen for parent disposal.
|
|
221
|
+
parent.disposed.connect(() => {
|
|
222
|
+
delete handlers[parent.id];
|
|
223
|
+
handler.dispose();
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
// Keep track of console instances and set inspector source.
|
|
228
|
+
labShell.currentChanged.connect((_, args) => {
|
|
229
|
+
const widget = args.newValue;
|
|
230
|
+
if (!widget || !consoles.has(widget)) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
const source = handlers[widget.id];
|
|
234
|
+
if (source) {
|
|
235
|
+
manager.source = source;
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* An extension that registers notebooks for inspection.
|
|
243
|
+
*/
|
|
244
|
+
const notebooks: JupyterFrontEndPlugin<void> = {
|
|
245
|
+
id: '@jupyterlab/inspector-extension:notebooks',
|
|
246
|
+
requires: [IInspector, INotebookTracker, ILabShell],
|
|
247
|
+
autoStart: true,
|
|
248
|
+
activate: (
|
|
249
|
+
app: JupyterFrontEnd,
|
|
250
|
+
manager: IInspector,
|
|
251
|
+
notebooks: INotebookTracker,
|
|
252
|
+
labShell: ILabShell
|
|
253
|
+
): void => {
|
|
254
|
+
// Maintain association of new notebooks with their respective handlers.
|
|
255
|
+
const handlers: { [id: string]: InspectionHandler } = {};
|
|
256
|
+
|
|
257
|
+
// Create a handler for each notebook that is created.
|
|
258
|
+
notebooks.widgetAdded.connect((sender, parent) => {
|
|
259
|
+
const sessionContext = parent.sessionContext;
|
|
260
|
+
const rendermime = parent.content.rendermime;
|
|
261
|
+
const connector = new KernelConnector({ sessionContext });
|
|
262
|
+
const handler = new InspectionHandler({ connector, rendermime });
|
|
263
|
+
|
|
264
|
+
// Associate the handler to the widget.
|
|
265
|
+
handlers[parent.id] = handler;
|
|
266
|
+
|
|
267
|
+
// Set the initial editor.
|
|
268
|
+
const cell = parent.content.activeCell;
|
|
269
|
+
handler.editor = cell && cell.editor;
|
|
270
|
+
|
|
271
|
+
// Listen for active cell changes.
|
|
272
|
+
parent.content.activeCellChanged.connect((sender, cell) => {
|
|
273
|
+
void cell?.ready.then(() => {
|
|
274
|
+
if (cell === parent.content.activeCell) {
|
|
275
|
+
handler.editor = cell!.editor;
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
// Listen for parent disposal.
|
|
281
|
+
parent.disposed.connect(() => {
|
|
282
|
+
delete handlers[parent.id];
|
|
283
|
+
handler.dispose();
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
// Keep track of notebook instances and set inspector source.
|
|
288
|
+
labShell.currentChanged.connect((sender, args) => {
|
|
289
|
+
const widget = args.newValue;
|
|
290
|
+
if (!widget || !notebooks.has(widget)) {
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
const source = handlers[widget.id];
|
|
294
|
+
if (source) {
|
|
295
|
+
manager.source = source;
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Export the plugins as default.
|
|
303
|
+
*/
|
|
304
|
+
const plugins: JupyterFrontEndPlugin<any>[] = [inspector, consoles, notebooks];
|
|
305
|
+
export default plugins;
|