@jupyterlab/debugger 4.0.0-alpha.9 → 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.
Files changed (119) hide show
  1. package/lib/debugger.d.ts +3 -1
  2. package/lib/debugger.js +5 -3
  3. package/lib/debugger.js.map +1 -1
  4. package/lib/dialogs/evaluate.d.ts +5 -0
  5. package/lib/dialogs/evaluate.js +16 -6
  6. package/lib/dialogs/evaluate.js.map +1 -1
  7. package/lib/factory.d.ts +1 -1
  8. package/lib/factory.js +15 -9
  9. package/lib/factory.js.map +1 -1
  10. package/lib/handler.js +15 -7
  11. package/lib/handler.js.map +1 -1
  12. package/lib/handlers/console.js +9 -3
  13. package/lib/handlers/console.js.map +1 -1
  14. package/lib/handlers/editor.d.ts +26 -12
  15. package/lib/handlers/editor.js +166 -89
  16. package/lib/handlers/editor.js.map +1 -1
  17. package/lib/handlers/file.js +6 -2
  18. package/lib/handlers/file.js.map +1 -1
  19. package/lib/handlers/notebook.d.ts +0 -7
  20. package/lib/handlers/notebook.js +11 -17
  21. package/lib/handlers/notebook.js.map +1 -1
  22. package/lib/icons.d.ts +2 -1
  23. package/lib/icons.js +6 -1
  24. package/lib/icons.js.map +1 -1
  25. package/lib/model.js +1 -0
  26. package/lib/model.js.map +1 -1
  27. package/lib/panels/breakpoints/index.d.ts +2 -2
  28. package/lib/panels/breakpoints/index.js +9 -7
  29. package/lib/panels/breakpoints/index.js.map +1 -1
  30. package/lib/panels/breakpoints/pauseonexceptions.d.ts +53 -0
  31. package/lib/panels/breakpoints/pauseonexceptions.js +98 -0
  32. package/lib/panels/breakpoints/pauseonexceptions.js.map +1 -0
  33. package/lib/panels/callstack/index.d.ts +1 -1
  34. package/lib/panels/kernelSources/body.d.ts +5 -7
  35. package/lib/panels/kernelSources/body.js +37 -47
  36. package/lib/panels/kernelSources/body.js.map +1 -1
  37. package/lib/panels/kernelSources/filter.d.ts +1 -2
  38. package/lib/panels/kernelSources/filter.js +2 -2
  39. package/lib/panels/kernelSources/filter.js.map +1 -1
  40. package/lib/panels/kernelSources/index.js +1 -1
  41. package/lib/panels/kernelSources/index.js.map +1 -1
  42. package/lib/panels/kernelSources/model.d.ts +10 -1
  43. package/lib/panels/kernelSources/model.js +19 -1
  44. package/lib/panels/kernelSources/model.js.map +1 -1
  45. package/lib/panels/sources/body.js +5 -3
  46. package/lib/panels/sources/body.js.map +1 -1
  47. package/lib/panels/variables/grid.d.ts +10 -0
  48. package/lib/panels/variables/grid.js +28 -351
  49. package/lib/panels/variables/grid.js.map +1 -1
  50. package/lib/panels/variables/gridpanel.d.ts +140 -0
  51. package/lib/panels/variables/gridpanel.js +363 -0
  52. package/lib/panels/variables/gridpanel.js.map +1 -0
  53. package/lib/panels/variables/mimerenderer.js +9 -1
  54. package/lib/panels/variables/mimerenderer.js.map +1 -1
  55. package/lib/panels/variables/scope.js +4 -0
  56. package/lib/panels/variables/scope.js.map +1 -1
  57. package/lib/panels/variables/tree.d.ts +1 -0
  58. package/lib/panels/variables/tree.js +136 -47
  59. package/lib/panels/variables/tree.js.map +1 -1
  60. package/lib/service.d.ts +20 -6
  61. package/lib/service.js +84 -59
  62. package/lib/service.js.map +1 -1
  63. package/lib/session.d.ts +20 -6
  64. package/lib/session.js +59 -11
  65. package/lib/session.js.map +1 -1
  66. package/lib/sidebar.js +1 -1
  67. package/lib/sources.d.ts +2 -2
  68. package/lib/sources.js +32 -17
  69. package/lib/sources.js.map +1 -1
  70. package/lib/tokens.d.ts +57 -13
  71. package/lib/tokens.js.map +1 -1
  72. package/package.json +38 -46
  73. package/src/config.ts +78 -0
  74. package/src/debugger.ts +154 -0
  75. package/src/dialogs/evaluate.ts +144 -0
  76. package/src/factory.ts +72 -0
  77. package/src/handler.ts +528 -0
  78. package/src/handlers/console.ts +118 -0
  79. package/src/handlers/editor.ts +469 -0
  80. package/src/handlers/file.ts +86 -0
  81. package/src/handlers/notebook.ts +128 -0
  82. package/src/hash.ts +69 -0
  83. package/src/icons.ts +64 -0
  84. package/src/index.ts +16 -0
  85. package/src/model.ts +155 -0
  86. package/src/panels/breakpoints/body.tsx +145 -0
  87. package/src/panels/breakpoints/index.ts +116 -0
  88. package/src/panels/breakpoints/model.ts +74 -0
  89. package/src/panels/breakpoints/pauseonexceptions.tsx +141 -0
  90. package/src/panels/callstack/body.tsx +96 -0
  91. package/src/panels/callstack/index.ts +152 -0
  92. package/src/panels/callstack/model.ts +86 -0
  93. package/src/panels/kernelSources/body.tsx +139 -0
  94. package/src/panels/kernelSources/filter.tsx +44 -0
  95. package/src/panels/kernelSources/index.tsx +106 -0
  96. package/src/panels/kernelSources/model.ts +160 -0
  97. package/src/panels/sources/body.ts +161 -0
  98. package/src/panels/sources/index.tsx +85 -0
  99. package/src/panels/sources/model.ts +94 -0
  100. package/src/panels/sources/sourcepath.tsx +28 -0
  101. package/src/panels/variables/grid.ts +144 -0
  102. package/src/panels/variables/gridpanel.ts +455 -0
  103. package/src/panels/variables/index.ts +199 -0
  104. package/src/panels/variables/mimerenderer.ts +125 -0
  105. package/src/panels/variables/model.ts +61 -0
  106. package/src/panels/variables/scope.tsx +132 -0
  107. package/src/panels/variables/tree.tsx +521 -0
  108. package/src/service.ts +1009 -0
  109. package/src/session.ts +342 -0
  110. package/src/sidebar.ts +194 -0
  111. package/src/sources.ts +327 -0
  112. package/src/svg.d.ts +9 -0
  113. package/src/tokens.ts +1071 -0
  114. package/style/breakpoints.css +21 -12
  115. package/style/icons/exceptions.svg +10 -0
  116. package/style/index.css +1 -1
  117. package/style/index.js +1 -1
  118. package/style/kernelSources.css +3 -0
  119. package/style/variables.css +68 -21
@@ -2,10 +2,11 @@
2
2
  // Distributed under the terms of the Modified BSD License.
3
3
  import { Dialog, showDialog } from '@jupyterlab/apputils';
4
4
  import { nullTranslator } from '@jupyterlab/translation';
5
- import { CommandToolbarButton, PanelWithToolbar, ToolbarButton } from '@jupyterlab/ui-components';
5
+ import { PanelWithToolbar, ToolbarButton } from '@jupyterlab/ui-components';
6
6
  import { Signal } from '@lumino/signaling';
7
- import { closeAllIcon } from '../../icons';
7
+ import { closeAllIcon, exceptionIcon } from '../../icons';
8
8
  import { BreakpointsBody } from './body';
9
+ import { PauseOnExceptionsWidget } from './pauseonexceptions';
9
10
  /**
10
11
  * A Panel to show a list of breakpoints.
11
12
  */
@@ -23,10 +24,11 @@ export class Breakpoints extends PanelWithToolbar {
23
24
  const trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : nullTranslator).load('jupyterlab');
24
25
  this.title.label = trans.__('Breakpoints');
25
26
  const body = new BreakpointsBody(model);
26
- this.toolbar.addItem('pause', new CommandToolbarButton({
27
- commands: commands.registry,
28
- id: commands.pause,
29
- label: ''
27
+ this.toolbar.addItem('pauseOnException', new PauseOnExceptionsWidget({
28
+ service: service,
29
+ commands: commands,
30
+ icon: exceptionIcon,
31
+ tooltip: trans.__('Pause on exception filter')
30
32
  }));
31
33
  this.toolbar.addItem('closeAll', new ToolbarButton({
32
34
  icon: closeAllIcon,
@@ -39,7 +41,7 @@ export class Breakpoints extends PanelWithToolbar {
39
41
  body: trans.__('Are you sure you want to remove all breakpoints?'),
40
42
  buttons: [
41
43
  Dialog.okButton({ label: trans.__('Remove breakpoints') }),
42
- Dialog.cancelButton({ label: trans.__('Cancel') })
44
+ Dialog.cancelButton()
43
45
  ],
44
46
  hasClose: true
45
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,gBAAgB;IAC/C;;;;OAIG;IACH,YAAY,OAA6B;;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QA6CR,YAAO,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;QA5C/D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,OAAO,EACP,IAAI,oBAAoB,CAAC;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,EAAE,EAAE,QAAQ,CAAC,KAAK;YAClB,KAAK,EAAE,EAAE;SACV,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,UAAU,EACV,IAAI,aAAa,CAAC;YAChB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,IAAmB,EAAE;gBACjC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;oBAChC,OAAO;iBACR;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;oBACzC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,kDAAkD,CAAC;oBAClE,OAAO,EAAE;wBACP,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBAC1D,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;qBACnD;oBACD,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACxB,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAAC;iBACnC;YACH,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;SAC5C,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC;CAGF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,gBAAgB;IAC/C;;;;OAIG;IACH,YAAY,OAA6B;;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QA8CR,YAAO,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;QA7C/D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,kBAAkB,EAClB,IAAI,uBAAuB,CAAC;YAC1B,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAC;SAC/C,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,UAAU,EACV,IAAI,aAAa,CAAC;YAChB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,IAAmB,EAAE;gBACjC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;oBAChC,OAAO;iBACR;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;oBACzC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,kDAAkD,CAAC;oBAClE,OAAO,EAAE;wBACP,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBAC1D,MAAM,CAAC,YAAY,EAAE;qBACtB;oBACD,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACxB,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAAC;iBACnC;YACH,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;SAC5C,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC;CAGF"}
@@ -0,0 +1,53 @@
1
+ import { MenuSvg, ToolbarButton, ToolbarButtonComponent } from '@jupyterlab/ui-components';
2
+ import { IDebugger } from '../../tokens';
3
+ import { Breakpoints } from './index';
4
+ /**
5
+ * A button which display a menu on click, to select the filter.
6
+ */
7
+ export declare class PauseOnExceptionsWidget extends ToolbarButton {
8
+ /**
9
+ * Constructor of the button.
10
+ */
11
+ constructor(props: PauseOnExceptions.IProps);
12
+ /**
13
+ * Called when the debugger is initialized or the filter changed.
14
+ */
15
+ onChange(): void;
16
+ /**
17
+ * open menu on click.
18
+ */
19
+ onclick: () => void;
20
+ render(): JSX.Element;
21
+ private _menu;
22
+ private _props;
23
+ }
24
+ /**
25
+ * A menu with all the available filter from the debugger as entries.
26
+ */
27
+ export declare class PauseOnExceptionsMenu extends MenuSvg {
28
+ /**
29
+ * The constructor of the menu.
30
+ */
31
+ constructor(props: PauseOnExceptions.IProps);
32
+ private _build;
33
+ private _service;
34
+ private _command;
35
+ }
36
+ /**
37
+ * A namespace for the widget.
38
+ */
39
+ export declare namespace PauseOnExceptions {
40
+ /**
41
+ * The properties of the widget and menu.
42
+ */
43
+ interface IProps extends ToolbarButtonComponent.IProps {
44
+ /**
45
+ * The debugger service linked to the widget.
46
+ */
47
+ service: IDebugger;
48
+ /**
49
+ * The commands registry and the command ID associated to the menu.
50
+ */
51
+ commands: Breakpoints.ICommands;
52
+ }
53
+ }
@@ -0,0 +1,98 @@
1
+ // Copyright (c) Jupyter Development Team.
2
+ // Distributed under the terms of the Modified BSD License.
3
+ import * as React from 'react';
4
+ import { MenuSvg, ToolbarButton, ToolbarButtonComponent } from '@jupyterlab/ui-components';
5
+ const PAUSE_ON_EXCEPTION_CLASS = 'jp-debugger-pauseOnExceptions';
6
+ const PAUSE_ON_EXCEPTION_BUTTON_CLASS = 'jp-PauseOnExceptions';
7
+ const PAUSE_ON_EXCEPTION_MENU_CLASS = 'jp-PauseOnExceptions-menu';
8
+ /**
9
+ * A button which display a menu on click, to select the filter.
10
+ */
11
+ export class PauseOnExceptionsWidget extends ToolbarButton {
12
+ /**
13
+ * Constructor of the button.
14
+ */
15
+ constructor(props) {
16
+ super();
17
+ /**
18
+ * open menu on click.
19
+ */
20
+ this.onclick = () => {
21
+ this._menu.open(this.node.getBoundingClientRect().left, this.node.getBoundingClientRect().bottom);
22
+ };
23
+ this._menu = new PauseOnExceptionsMenu({
24
+ service: props.service,
25
+ commands: {
26
+ registry: props.commands.registry,
27
+ pauseOnExceptions: props.commands.pauseOnExceptions
28
+ }
29
+ });
30
+ this.node.className = PAUSE_ON_EXCEPTION_CLASS;
31
+ this._props = props;
32
+ this._props.className = PAUSE_ON_EXCEPTION_BUTTON_CLASS;
33
+ this._props.service.eventMessage.connect((_, event) => {
34
+ if (event.event === 'initialized' || event.event === 'terminated') {
35
+ this.onChange();
36
+ }
37
+ }, this);
38
+ this._props.enabled = this._props.service.pauseOnExceptionsIsValid();
39
+ this._props.service.pauseOnExceptionChanged.connect(this.onChange, this);
40
+ }
41
+ /**
42
+ * Called when the debugger is initialized or the filter changed.
43
+ */
44
+ onChange() {
45
+ var _a;
46
+ const session = this._props.service.session;
47
+ const exceptionBreakpointFilters = session === null || session === void 0 ? void 0 : session.exceptionBreakpointFilters;
48
+ this._props.className = PAUSE_ON_EXCEPTION_BUTTON_CLASS;
49
+ if (((_a = this._props.service.session) === null || _a === void 0 ? void 0 : _a.isStarted) && exceptionBreakpointFilters) {
50
+ if (session.isPausingOnException()) {
51
+ this._props.className += ' lm-mod-toggled';
52
+ }
53
+ this._props.enabled = true;
54
+ }
55
+ else {
56
+ this._props.enabled = false;
57
+ }
58
+ this.update();
59
+ }
60
+ render() {
61
+ return React.createElement(ToolbarButtonComponent, { ...this._props, onClick: this.onclick });
62
+ }
63
+ }
64
+ /**
65
+ * A menu with all the available filter from the debugger as entries.
66
+ */
67
+ export class PauseOnExceptionsMenu extends MenuSvg {
68
+ /**
69
+ * The constructor of the menu.
70
+ */
71
+ constructor(props) {
72
+ super({ commands: props.commands.registry });
73
+ this._service = props.service;
74
+ this._command = props.commands.pauseOnExceptions;
75
+ props.service.eventMessage.connect((_, event) => {
76
+ if (event.event === 'initialized') {
77
+ this._build();
78
+ }
79
+ }, this);
80
+ this._build();
81
+ this.addClass(PAUSE_ON_EXCEPTION_MENU_CLASS);
82
+ }
83
+ _build() {
84
+ var _a, _b;
85
+ this.clearItems();
86
+ const exceptionsBreakpointFilters = (_b = (_a = this._service.session) === null || _a === void 0 ? void 0 : _a.exceptionBreakpointFilters) !== null && _b !== void 0 ? _b : [];
87
+ exceptionsBreakpointFilters.map((filter, _) => {
88
+ this.addItem({
89
+ command: this._command,
90
+ args: {
91
+ filter: filter.filter,
92
+ description: filter.description
93
+ }
94
+ });
95
+ });
96
+ }
97
+ }
98
+ //# sourceMappingURL=pauseonexceptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pauseonexceptions.js","sourceRoot":"","sources":["../../../src/panels/breakpoints/pauseonexceptions.tsx"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare namespace Callstack {
27
27
  */
28
28
  registry: CommandRegistry;
29
29
  /**
30
- * The continue command ID.
30
+ * The pause/continue command ID.
31
31
  */
32
32
  continue: string;
33
33
  /**
@@ -1,27 +1,25 @@
1
+ import { ReactWidget } from '@jupyterlab/ui-components';
1
2
  import { ITranslator } from '@jupyterlab/translation';
2
- import { Widget } from '@lumino/widgets';
3
3
  import { IDebugger } from '../../tokens';
4
4
  /**
5
5
  * The body for a Sources Panel.
6
6
  */
7
- export declare class KernelSourcesBody extends Widget {
7
+ export declare class KernelSourcesBody extends ReactWidget {
8
8
  /**
9
9
  * Instantiate a new Body for the KernelSourcesBody widget.
10
10
  *
11
11
  * @param options The instantiation options for a KernelSourcesBody.
12
12
  */
13
13
  constructor(options: KernelSourcesBody.IOptions);
14
+ render(): JSX.Element;
14
15
  /**
15
16
  * Show or hide the filter box.
16
17
  */
17
18
  toggleFilterbox(): void;
18
- /**
19
- * Clear the content of the kernel source read-only editor.
20
- */
21
- private _clear;
22
19
  private _model;
23
- private _kernelSourcesFilter;
24
20
  private _debuggerService;
21
+ private _trans;
22
+ private _showFilter;
25
23
  }
26
24
  /**
27
25
  * A namespace for SourcesBody `statics`.
@@ -1,11 +1,12 @@
1
1
  // Copyright (c) Jupyter Development Team.
2
2
  // Distributed under the terms of the Modified BSD License.
3
+ import React from 'react';
3
4
  import { openKernelSourceIcon } from '../../icons';
4
- import { ToolbarButton } from '@jupyterlab/ui-components';
5
+ import { ReactWidget, ToolbarButtonComponent } from '@jupyterlab/ui-components';
5
6
  import { showErrorMessage } from '@jupyterlab/apputils';
6
7
  import { nullTranslator } from '@jupyterlab/translation';
7
- import { PanelLayout, Widget } from '@lumino/widgets';
8
8
  import { KernelSourcesFilter } from './filter';
9
+ import { UseSignal } from '@jupyterlab/ui-components';
9
10
  /**
10
11
  * The class name added to the filterbox node.
11
12
  */
@@ -17,7 +18,7 @@ const FILTERBOX_HIDDEN_CLASS = 'jp-DebuggerKernelSource-filterBox-hidden';
17
18
  /**
18
19
  * The body for a Sources Panel.
19
20
  */
20
- export class KernelSourcesBody extends Widget {
21
+ export class KernelSourcesBody extends ReactWidget {
21
22
  /**
22
23
  * Instantiate a new Body for the KernelSourcesBody widget.
23
24
  *
@@ -26,61 +27,50 @@ export class KernelSourcesBody extends Widget {
26
27
  constructor(options) {
27
28
  var _a;
28
29
  super();
30
+ this._showFilter = false;
29
31
  this._model = options.model;
30
32
  this._debuggerService = options.service;
31
- const trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : nullTranslator).load('jupyterlab');
32
- this.layout = new PanelLayout();
33
+ this._trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : nullTranslator).load('jupyterlab');
33
34
  this.addClass('jp-DebuggerKernelSources-body');
34
- this._kernelSourcesFilter = KernelSourcesFilter({
35
- model: this._model
36
- });
37
- this._kernelSourcesFilter.addClass(FILTERBOX_CLASS);
38
- this._kernelSourcesFilter.addClass(FILTERBOX_HIDDEN_CLASS);
39
- this.layout.addWidget(this._kernelSourcesFilter);
40
- this._model.changed.connect((_, kernelSources) => {
41
- this._clear();
42
- if (kernelSources) {
43
- kernelSources.forEach(module => {
35
+ }
36
+ render() {
37
+ let filterClass = FILTERBOX_CLASS;
38
+ if (!this._showFilter) {
39
+ filterClass += ' ' + FILTERBOX_HIDDEN_CLASS;
40
+ }
41
+ return (React.createElement(React.Fragment, null,
42
+ React.createElement("div", { className: filterClass, key: 'filter' },
43
+ React.createElement(KernelSourcesFilter, { model: this._model })),
44
+ React.createElement(UseSignal, { signal: this._model.changed }, (_, kernelSources) => {
45
+ const keymap = {};
46
+ return (kernelSources !== null && kernelSources !== void 0 ? kernelSources : []).map(module => {
47
+ var _a;
44
48
  const name = module.name;
45
49
  const path = module.path;
46
- const button = new ToolbarButton({
47
- icon: openKernelSourceIcon,
48
- label: name,
49
- tooltip: path
50
- });
51
- button.node.addEventListener('dblclick', () => {
52
- this._debuggerService
53
- .getSource({
54
- sourceReference: 0,
55
- path: path
56
- })
57
- .then(source => {
58
- this._model.open(source);
59
- })
60
- .catch(reason => {
61
- showErrorMessage(trans.__('Fail to get source'), trans.__("Fail to get '%1' source:\n%2", path, reason));
62
- });
63
- });
64
- this.layout.addWidget(button);
50
+ const key = name + (keymap[name] = ((_a = keymap[name]) !== null && _a !== void 0 ? _a : 0) + 1).toString();
51
+ const button = (React.createElement(ToolbarButtonComponent, { key: key, icon: openKernelSourceIcon, label: name, tooltip: path, onClick: () => {
52
+ this._debuggerService
53
+ .getSource({
54
+ sourceReference: 0,
55
+ path: path
56
+ })
57
+ .then(source => {
58
+ this._model.open(source);
59
+ })
60
+ .catch(reason => {
61
+ void showErrorMessage(this._trans.__('Fail to get source'), this._trans.__("Fail to get '%1' source:\n%2", path, reason));
62
+ });
63
+ } }));
64
+ return button;
65
65
  });
66
- }
67
- });
66
+ })));
68
67
  }
69
68
  /**
70
69
  * Show or hide the filter box.
71
70
  */
72
71
  toggleFilterbox() {
73
- this._kernelSourcesFilter.node.classList.contains(FILTERBOX_HIDDEN_CLASS)
74
- ? this._kernelSourcesFilter.node.classList.remove(FILTERBOX_HIDDEN_CLASS)
75
- : this._kernelSourcesFilter.node.classList.add(FILTERBOX_HIDDEN_CLASS);
76
- }
77
- /**
78
- * Clear the content of the kernel source read-only editor.
79
- */
80
- _clear() {
81
- while (this.layout.widgets.length > 1) {
82
- this.layout.removeWidgetAt(1);
83
- }
72
+ this._showFilter = !this._showFilter;
73
+ this.update();
84
74
  }
85
75
  }
86
76
  //# sourceMappingURL=body.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/kernelSources/body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/kernelSources/body.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { ReactWidget } from '@jupyterlab/ui-components';
2
1
  import { IDebugger } from '../../tokens';
3
2
  /**
4
3
  * The class name added to the filebrowser crumbs node.
@@ -9,4 +8,4 @@ export interface IFilterBoxProps {
9
8
  /**
10
9
  * A widget which hosts a input textbox to filter on file names.
11
10
  */
12
- export declare const KernelSourcesFilter: (props: IFilterBoxProps) => ReactWidget;
11
+ export declare const KernelSourcesFilter: (props: IFilterBoxProps) => JSX.Element;
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Jupyter Development Team.
2
2
  // Distributed under the terms of the Modified BSD License.
3
- import { InputGroup, ReactWidget, UseSignal } from '@jupyterlab/ui-components';
3
+ import { InputGroup, UseSignal } from '@jupyterlab/ui-components';
4
4
  import React from 'react';
5
5
  const FilterBox = (props) => {
6
6
  const onFilterChange = (e) => {
@@ -13,6 +13,6 @@ const FilterBox = (props) => {
13
13
  * A widget which hosts a input textbox to filter on file names.
14
14
  */
15
15
  export const KernelSourcesFilter = (props) => {
16
- return ReactWidget.create(React.createElement(UseSignal, { signal: props.model.filterChanged, initialArgs: props.model.filter }, model => React.createElement(FilterBox, { model: props.model })));
16
+ return (React.createElement(UseSignal, { signal: props.model.filterChanged, initialArgs: props.model.filter }, model => React.createElement(FilterBox, { model: props.model })));
17
17
  };
18
18
  //# sourceMappingURL=filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/panels/kernelSources/filter.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC3C,MAAM,cAAc,GAAG,CAAC,CAAM,EAAE,EAAE;QAChC,MAAM,MAAM,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;QACpD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC,CAAC;IACF,OAAO,CACL,oBAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAC,2BAA2B,EACvC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GACzB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAsB,EAAe,EAAE;IACzE,OAAO,WAAW,CAAC,MAAM,CACvB,oBAAC,SAAS,IACR,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EACjC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,IAE9B,KAAK,CAAC,EAAE,CAAC,oBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CACjC,CACb,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/panels/kernelSources/filter.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC3C,MAAM,cAAc,GAAG,CAAC,CAAM,EAAE,EAAE;QAChC,MAAM,MAAM,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;QACpD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC,CAAC;IACF,OAAO,CACL,oBAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAC,2BAA2B,EACvC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GACzB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC5D,OAAO,CACL,oBAAC,SAAS,IACR,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EACjC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,IAE9B,KAAK,CAAC,EAAE,CAAC,oBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CACjC,CACb,CAAC;AACJ,CAAC,CAAC"}
@@ -38,7 +38,7 @@ export class KernelSources extends PanelWithToolbar {
38
38
  onClick: () => {
39
39
  this._model.kernelSources = [];
40
40
  void service.displayModules().catch(reason => {
41
- showErrorMessage(trans.__('Fail to get kernel sources'), trans.__('Fail to get kernel sources:\n%2', reason));
41
+ void showErrorMessage(trans.__('Fail to get kernel sources'), trans.__('Fail to get kernel sources:\n%2', reason));
42
42
  });
43
43
  },
44
44
  tooltip: trans.__('Refresh kernel sources')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/kernelSources/index.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,aAAa,EACd,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IACjD;;;;OAIG;IACH,YAAY,OAA+B;;QACzC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAG,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAEzD,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC;YACjC,OAAO;YACP,KAAK;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,aAAa,EACb,IAAI,aAAa,CAAC;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,KAAK,IAAmB,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC;SAC1C,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,SAAS,EACT,IAAI,aAAa,CAAC;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC/B,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC3C,gBAAgB,CACd,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC,EACtC,KAAK,CAAC,EAAE,CAAC,iCAAiC,EAAE,MAAM,CAAC,CACpD,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;SAC5C,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;IAED,IAAW,MAAM,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC;CAIF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/kernelSources/index.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,aAAa,EACd,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IACjD;;;;OAIG;IACH,YAAY,OAA+B;;QACzC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAG,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAEzD,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC;YACjC,OAAO;YACP,KAAK;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,aAAa,EACb,IAAI,aAAa,CAAC;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,KAAK,IAAmB,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC;SAC1C,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,SAAS,EACT,IAAI,aAAa,CAAC;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC/B,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC3C,KAAK,gBAAgB,CACnB,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC,EACtC,KAAK,CAAC,EAAE,CAAC,iCAAiC,EAAE,MAAM,CAAC,CACpD,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;SAC5C,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;IAED,IAAW,MAAM,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC;CAIF"}
@@ -14,6 +14,10 @@ export declare class KernelSourcesModel implements IDebugger.Model.IKernelSource
14
14
  * The update
15
15
  */
16
16
  set filter(filter: string);
17
+ /**
18
+ * Whether the kernel sources model is disposed or not.
19
+ */
20
+ get isDisposed(): boolean;
17
21
  /**
18
22
  * Get the kernel sources.
19
23
  */
@@ -34,15 +38,20 @@ export declare class KernelSourcesModel implements IDebugger.Model.IKernelSource
34
38
  * Signal emitted when a kernel source should be open in the main area.
35
39
  */
36
40
  get kernelSourceOpened(): ISignal<this, IDebugger.Source | null>;
41
+ /**
42
+ * Dispose the kernel sources model
43
+ */
44
+ dispose(): void;
37
45
  /**
38
46
  * Open a source in the main area.
39
47
  */
40
48
  open(kernelSource: IDebugger.Source): void;
41
49
  private getFilteredKernelSources;
42
50
  private refresh;
43
- private _kernelSources;
44
51
  private _filteredKernelSources;
45
52
  private _filter;
53
+ private _isDisposed;
54
+ private _kernelSources;
46
55
  private _refreshDebouncer;
47
56
  private _changed;
48
57
  private _filterChanged;
@@ -20,9 +20,10 @@ const compare = (a, b) => {
20
20
  */
21
21
  export class KernelSourcesModel {
22
22
  constructor() {
23
- this._kernelSources = null;
24
23
  this._filteredKernelSources = null;
25
24
  this._filter = '';
25
+ this._isDisposed = false;
26
+ this._kernelSources = null;
26
27
  this._changed = new Signal(this);
27
28
  this._filterChanged = new Signal(this);
28
29
  this._kernelSourceOpened = new Signal(this);
@@ -44,6 +45,12 @@ export class KernelSourcesModel {
44
45
  this._filterChanged.emit(filter);
45
46
  void this._refreshDebouncer.invoke();
46
47
  }
48
+ /**
49
+ * Whether the kernel sources model is disposed or not.
50
+ */
51
+ get isDisposed() {
52
+ return this._isDisposed;
53
+ }
47
54
  /**
48
55
  * Get the kernel sources.
49
56
  */
@@ -75,6 +82,17 @@ export class KernelSourcesModel {
75
82
  get kernelSourceOpened() {
76
83
  return this._kernelSourceOpened;
77
84
  }
85
+ /**
86
+ * Dispose the kernel sources model
87
+ */
88
+ dispose() {
89
+ if (this._isDisposed) {
90
+ return;
91
+ }
92
+ this._isDisposed = true;
93
+ this._refreshDebouncer.dispose();
94
+ Signal.clearData(this);
95
+ }
78
96
  /**
79
97
  * Open a source in the main area.
80
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/panels/kernelSources/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/panels/kernelSources/model.ts"],"names":[],"mappings":"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"}
@@ -79,12 +79,14 @@ export class SourcesBody extends Widget {
79
79
  }
80
80
  const { content, mimeType } = source;
81
81
  const editorMimeType = mimeType || this._mimeTypeService.getMimeTypeByFilePath(path !== null && path !== void 0 ? path : '');
82
- this._editor.model.value.text = content;
82
+ this._editor.model.sharedModel.setSource(content);
83
83
  this._editor.model.mimeType = editorMimeType;
84
84
  this._editorHandler = new EditorHandler({
85
85
  debuggerService: this._debuggerService,
86
- editor: this._editor.editor,
87
- path
86
+ editorReady: () => Promise.resolve(this._editor.editor),
87
+ getEditor: () => this._editor.editor,
88
+ path,
89
+ src: this._editor.model.sharedModel
88
90
  });
89
91
  this._model.currentSource = {
90
92
  content,
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/sources/body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/panels/sources/body.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { CommandRegistry } from '@lumino/commands';
3
3
  import { Panel } from '@lumino/widgets';
4
4
  import { IDebugger } from '../../tokens';
5
5
  import { ITranslator } from '@jupyterlab/translation';
6
+ import { Message } from '@lumino/messaging';
6
7
  /**
7
8
  * A data grid that displays variables in a debugger session.
8
9
  */
@@ -13,6 +14,14 @@ export declare class VariablesBodyGrid extends Panel {
13
14
  * @param options The instantiation options for a VariablesBodyGrid.
14
15
  */
15
16
  constructor(options: VariablesBodyGrid.IOptions);
17
+ /**
18
+ * Wait until actually displaying the grid to trigger initialization.
19
+ */
20
+ protected onBeforeShow(msg: Message): void;
21
+ /**
22
+ * Load the grid panel implementation.
23
+ */
24
+ protected initialize(): Promise<void>;
16
25
  /**
17
26
  * Set the variable filter list.
18
27
  *
@@ -31,6 +40,7 @@ export declare class VariablesBodyGrid extends Panel {
31
40
  private _update;
32
41
  private _grid;
33
42
  private _model;
43
+ private _options;
34
44
  }
35
45
  /**
36
46
  * A namespace for `VariablesBodyGrid` statics.