@theia/notebook 1.52.0 → 1.53.0-next.18

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 (86) hide show
  1. package/lib/browser/contributions/cell-operations.d.ts +1 -1
  2. package/lib/browser/contributions/cell-operations.d.ts.map +1 -1
  3. package/lib/browser/contributions/cell-operations.js +10 -2
  4. package/lib/browser/contributions/cell-operations.js.map +1 -1
  5. package/lib/browser/contributions/notebook-actions-contribution.d.ts +2 -0
  6. package/lib/browser/contributions/notebook-actions-contribution.d.ts.map +1 -1
  7. package/lib/browser/contributions/notebook-actions-contribution.js +43 -24
  8. package/lib/browser/contributions/notebook-actions-contribution.js.map +1 -1
  9. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts +4 -0
  10. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts.map +1 -1
  11. package/lib/browser/contributions/notebook-cell-actions-contribution.js +61 -16
  12. package/lib/browser/contributions/notebook-cell-actions-contribution.js.map +1 -1
  13. package/lib/browser/contributions/notebook-status-bar-contribution.d.ts +14 -0
  14. package/lib/browser/contributions/notebook-status-bar-contribution.d.ts.map +1 -0
  15. package/lib/browser/contributions/notebook-status-bar-contribution.js +75 -0
  16. package/lib/browser/contributions/notebook-status-bar-contribution.js.map +1 -0
  17. package/lib/browser/contributions/notebook-undo-redo-handler.d.ts +10 -0
  18. package/lib/browser/contributions/notebook-undo-redo-handler.d.ts.map +1 -0
  19. package/lib/browser/contributions/notebook-undo-redo-handler.js +49 -0
  20. package/lib/browser/contributions/notebook-undo-redo-handler.js.map +1 -0
  21. package/lib/browser/notebook-editor-widget.d.ts +6 -0
  22. package/lib/browser/notebook-editor-widget.d.ts.map +1 -1
  23. package/lib/browser/notebook-editor-widget.js +40 -4
  24. package/lib/browser/notebook-editor-widget.js.map +1 -1
  25. package/lib/browser/notebook-frontend-module.d.ts.map +1 -1
  26. package/lib/browser/notebook-frontend-module.js +6 -0
  27. package/lib/browser/notebook-frontend-module.js.map +1 -1
  28. package/lib/browser/service/notebook-context-manager.d.ts +2 -1
  29. package/lib/browser/service/notebook-context-manager.d.ts.map +1 -1
  30. package/lib/browser/service/notebook-context-manager.js +6 -3
  31. package/lib/browser/service/notebook-context-manager.js.map +1 -1
  32. package/lib/browser/service/notebook-options.d.ts +1 -0
  33. package/lib/browser/service/notebook-options.d.ts.map +1 -1
  34. package/lib/browser/service/notebook-options.js +1 -0
  35. package/lib/browser/service/notebook-options.js.map +1 -1
  36. package/lib/browser/service/notebook-service.d.ts +1 -0
  37. package/lib/browser/service/notebook-service.d.ts.map +1 -1
  38. package/lib/browser/service/notebook-service.js +7 -0
  39. package/lib/browser/service/notebook-service.js.map +1 -1
  40. package/lib/browser/view/notebook-cell-editor.d.ts +8 -1
  41. package/lib/browser/view/notebook-cell-editor.d.ts.map +1 -1
  42. package/lib/browser/view/notebook-cell-editor.js +89 -5
  43. package/lib/browser/view/notebook-cell-editor.js.map +1 -1
  44. package/lib/browser/view/notebook-cell-list-view.d.ts +3 -0
  45. package/lib/browser/view/notebook-cell-list-view.d.ts.map +1 -1
  46. package/lib/browser/view/notebook-cell-list-view.js +33 -2
  47. package/lib/browser/view/notebook-cell-list-view.js.map +1 -1
  48. package/lib/browser/view/notebook-code-cell-view.d.ts +1 -1
  49. package/lib/browser/view/notebook-code-cell-view.d.ts.map +1 -1
  50. package/lib/browser/view/notebook-code-cell-view.js +19 -17
  51. package/lib/browser/view/notebook-code-cell-view.js.map +1 -1
  52. package/lib/browser/view/notebook-find-widget.d.ts +63 -0
  53. package/lib/browser/view/notebook-find-widget.d.ts.map +1 -0
  54. package/lib/browser/view/notebook-find-widget.js +225 -0
  55. package/lib/browser/view/notebook-find-widget.js.map +1 -0
  56. package/lib/browser/view/notebook-markdown-cell-view.d.ts +4 -0
  57. package/lib/browser/view/notebook-markdown-cell-view.d.ts.map +1 -1
  58. package/lib/browser/view/notebook-markdown-cell-view.js +105 -8
  59. package/lib/browser/view/notebook-markdown-cell-view.js.map +1 -1
  60. package/lib/browser/view-model/notebook-cell-model.d.ts +27 -1
  61. package/lib/browser/view-model/notebook-cell-model.d.ts.map +1 -1
  62. package/lib/browser/view-model/notebook-cell-model.js +76 -1
  63. package/lib/browser/view-model/notebook-cell-model.js.map +1 -1
  64. package/lib/browser/view-model/notebook-model.d.ts +8 -1
  65. package/lib/browser/view-model/notebook-model.d.ts.map +1 -1
  66. package/lib/browser/view-model/notebook-model.js +66 -14
  67. package/lib/browser/view-model/notebook-model.js.map +1 -1
  68. package/package.json +8 -7
  69. package/src/browser/contributions/cell-operations.ts +8 -2
  70. package/src/browser/contributions/notebook-actions-contribution.ts +47 -22
  71. package/src/browser/contributions/notebook-cell-actions-contribution.ts +65 -17
  72. package/src/browser/contributions/notebook-status-bar-contribution.ts +77 -0
  73. package/src/browser/contributions/notebook-undo-redo-handler.ts +41 -0
  74. package/src/browser/notebook-editor-widget.tsx +50 -5
  75. package/src/browser/notebook-frontend-module.ts +9 -1
  76. package/src/browser/service/notebook-context-manager.ts +8 -4
  77. package/src/browser/service/notebook-options.ts +2 -1
  78. package/src/browser/service/notebook-service.ts +7 -1
  79. package/src/browser/style/index.css +165 -6
  80. package/src/browser/view/notebook-cell-editor.tsx +94 -5
  81. package/src/browser/view/notebook-cell-list-view.tsx +40 -4
  82. package/src/browser/view/notebook-code-cell-view.tsx +19 -17
  83. package/src/browser/view/notebook-find-widget.tsx +335 -0
  84. package/src/browser/view/notebook-markdown-cell-view.tsx +134 -17
  85. package/src/browser/view-model/notebook-cell-model.ts +101 -8
  86. package/src/browser/view-model/notebook-model.ts +77 -20
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.NotebookFindWidget = void 0;
19
+ const core_1 = require("@theia/core");
20
+ const React = require("@theia/core/shared/react");
21
+ const browser_1 = require("@theia/core/lib/browser");
22
+ const debounce = require("lodash/debounce");
23
+ class NotebookFindWidget extends React.Component {
24
+ constructor(props) {
25
+ var _a;
26
+ super(props);
27
+ this.searchRef = React.createRef();
28
+ this.debounceSearch = debounce(this.search.bind(this), 50);
29
+ this.state = {
30
+ search: '',
31
+ replace: '',
32
+ currentMatch: 0,
33
+ matches: [],
34
+ expanded: false,
35
+ matchCase: false,
36
+ regex: false,
37
+ wholeWord: false,
38
+ activeFilters: ((_a = props.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => filter.active).map(filter => filter.id)) || []
39
+ };
40
+ }
41
+ render() {
42
+ const hasMatches = this.hasMatches();
43
+ const canReplace = this.canReplace();
44
+ const canReplaceAll = this.canReplaceAll();
45
+ return (React.createElement("div", { onKeyUp: event => {
46
+ if (event.key === 'Escape') {
47
+ this.props.onClose();
48
+ }
49
+ }, className: `theia-notebook-find-widget ${!this.state.expanded ? 'search-mode' : ''} ${this.props.hidden ? 'hidden' : ''}` },
50
+ React.createElement("div", { className: 'theia-notebook-find-widget-expand', title: core_1.nls.localizeByDefault('Toggle Replace'), onClick: () => {
51
+ this.setState({
52
+ expanded: !this.state.expanded
53
+ });
54
+ } },
55
+ React.createElement("div", { className: (0, browser_1.codicon)(`chevron-${this.state.expanded ? 'down' : 'right'}`) })),
56
+ React.createElement("div", { className: 'theia-notebook-find-widget-inputs' },
57
+ React.createElement("div", { className: 'theia-notebook-find-widget-input-wrapper' },
58
+ React.createElement("input", { ref: this.searchRef, type: 'text', className: 'theia-input theia-notebook-find-widget-input', placeholder: core_1.nls.localizeByDefault('Find'), value: this.state.search, onChange: event => {
59
+ this.setState({
60
+ search: event.target.value
61
+ });
62
+ this.debounceSearch({});
63
+ }, onKeyDown: event => {
64
+ if (event.key === 'Enter') {
65
+ if (event.shiftKey) {
66
+ this.gotoPreviousMatch();
67
+ }
68
+ else {
69
+ this.gotoNextMatch();
70
+ }
71
+ event.preventDefault();
72
+ }
73
+ } }),
74
+ React.createElement("div", { className: `${(0, browser_1.codicon)('case-sensitive', true)} option ${this.state.matchCase ? 'enabled' : ''}`, title: core_1.nls.localizeByDefault('Match Case'), onClick: () => {
75
+ this.search({
76
+ matchCase: !this.state.matchCase
77
+ });
78
+ } }),
79
+ React.createElement("div", { className: `${(0, browser_1.codicon)('whole-word', true)} option ${this.state.wholeWord ? 'enabled' : ''}`, title: core_1.nls.localizeByDefault('Match Whole Word'), onClick: () => {
80
+ this.search({
81
+ wholeWord: !this.state.wholeWord
82
+ });
83
+ } }),
84
+ React.createElement("div", { className: `${(0, browser_1.codicon)('regex', true)} option ${this.state.regex ? 'enabled' : ''}`, title: core_1.nls.localizeByDefault('Use Regular Expression'), onClick: () => {
85
+ this.search({
86
+ regex: !this.state.regex
87
+ });
88
+ } })),
89
+ React.createElement("input", { type: 'text', className: 'theia-input theia-notebook-find-widget-replace', placeholder: core_1.nls.localizeByDefault('Replace'), value: this.state.replace, onChange: event => {
90
+ this.setState({
91
+ replace: event.target.value
92
+ });
93
+ }, onKeyDown: event => {
94
+ if (event.key === 'Enter') {
95
+ this.replaceOne();
96
+ event.preventDefault();
97
+ }
98
+ } })),
99
+ React.createElement("div", { className: 'theia-notebook-find-widget-buttons' },
100
+ React.createElement("div", { className: 'theia-notebook-find-widget-buttons-first' },
101
+ React.createElement("div", { className: 'theia-notebook-find-widget-matches-count' }, this.getMatchesCount()),
102
+ React.createElement("div", { className: `${(0, browser_1.codicon)('arrow-up', hasMatches)} ${hasMatches ? '' : 'disabled'}`, title: core_1.nls.localizeByDefault('Previous Match'), onClick: () => {
103
+ this.gotoPreviousMatch();
104
+ } }),
105
+ React.createElement("div", { className: `${(0, browser_1.codicon)('arrow-down', hasMatches)} ${hasMatches ? '' : 'disabled'}`, title: core_1.nls.localizeByDefault('Next Match'), onClick: () => {
106
+ this.gotoNextMatch();
107
+ } }),
108
+ React.createElement("div", { className: (0, browser_1.codicon)('close', true), title: core_1.nls.localizeByDefault('Close'), onClick: () => {
109
+ this.props.onClose();
110
+ } })),
111
+ React.createElement("div", { className: 'theia-notebook-find-widget-buttons-second' },
112
+ React.createElement("div", { className: `${(0, browser_1.codicon)('replace', canReplace)} ${canReplace ? '' : 'disabled'}`, title: core_1.nls.localizeByDefault('Replace'), onClick: () => {
113
+ this.replaceOne();
114
+ } }),
115
+ React.createElement("div", { className: `${(0, browser_1.codicon)('replace-all', canReplaceAll)} ${canReplaceAll ? '' : 'disabled'}`, title: core_1.nls.localizeByDefault('Replace All'), onClick: () => {
116
+ this.replaceAll();
117
+ } })))));
118
+ }
119
+ hasMatches() {
120
+ return this.state.matches.length > 0;
121
+ }
122
+ canReplace() {
123
+ var _a;
124
+ return Boolean((_a = this.state.matches[this.state.currentMatch]) === null || _a === void 0 ? void 0 : _a.replace);
125
+ }
126
+ canReplaceAll() {
127
+ return this.state.matches.some(match => Boolean(match.replace));
128
+ }
129
+ getMatchesCount() {
130
+ if (this.hasMatches()) {
131
+ return core_1.nls.localizeByDefault('{0} of {1}', this.state.currentMatch + 1, this.state.matches.length);
132
+ }
133
+ else {
134
+ return core_1.nls.localizeByDefault('No results');
135
+ }
136
+ }
137
+ gotoNextMatch() {
138
+ this.search({
139
+ modifyIndex: (matches, index) => (index + 1) % matches.length,
140
+ jumpToMatch: true
141
+ });
142
+ }
143
+ gotoPreviousMatch() {
144
+ this.search({
145
+ modifyIndex: (matches, index) => (index === 0 ? matches.length : index) - 1,
146
+ jumpToMatch: true
147
+ });
148
+ }
149
+ replaceOne() {
150
+ var _a;
151
+ const existingMatches = this.state.matches;
152
+ const match = existingMatches[this.state.currentMatch];
153
+ if (match) {
154
+ (_a = match.replace) === null || _a === void 0 ? void 0 : _a.call(match, this.state.replace);
155
+ this.search({
156
+ jumpToMatch: true,
157
+ modifyIndex: (matches, index) => {
158
+ if (matches.length < existingMatches.length) {
159
+ return index % matches.length;
160
+ }
161
+ else {
162
+ const diff = matches.length - existingMatches.length;
163
+ return (index + diff + 1) % matches.length;
164
+ }
165
+ }
166
+ });
167
+ }
168
+ }
169
+ replaceAll() {
170
+ this.props.onReplace(this.state.matches, this.state.replace);
171
+ this.search({});
172
+ }
173
+ componentDidUpdate(prevProps, prevState) {
174
+ var _a;
175
+ if (!this.props.hidden && prevProps.hidden) {
176
+ // Focus the search input when the widget switches from hidden to visible.
177
+ (_a = this.searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
178
+ }
179
+ }
180
+ focusSearch(content) {
181
+ var _a;
182
+ (_a = this.searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
183
+ if (content) {
184
+ this.search({
185
+ search: content,
186
+ jumpToMatch: false
187
+ });
188
+ }
189
+ }
190
+ search(options) {
191
+ var _a, _b, _c, _d;
192
+ const matchCase = (_a = options.matchCase) !== null && _a !== void 0 ? _a : this.state.matchCase;
193
+ const wholeWord = (_b = options.wholeWord) !== null && _b !== void 0 ? _b : this.state.wholeWord;
194
+ const regex = (_c = options.regex) !== null && _c !== void 0 ? _c : this.state.regex;
195
+ const search = (_d = options.search) !== null && _d !== void 0 ? _d : this.state.search;
196
+ const matches = this.props.onSearch({
197
+ search,
198
+ matchCase,
199
+ wholeWord,
200
+ regex,
201
+ activeFilters: this.state.activeFilters
202
+ });
203
+ let currentMatch = Math.max(0, Math.min(this.state.currentMatch, matches.length - 1));
204
+ if (options.modifyIndex && matches.length > 0) {
205
+ currentMatch = options.modifyIndex(matches, currentMatch);
206
+ }
207
+ const selectedMatch = matches[currentMatch];
208
+ if (selectedMatch) {
209
+ selectedMatch.selected = true;
210
+ if (options.jumpToMatch) {
211
+ selectedMatch.show();
212
+ }
213
+ }
214
+ this.setState({
215
+ search,
216
+ matches,
217
+ currentMatch,
218
+ matchCase,
219
+ wholeWord,
220
+ regex
221
+ });
222
+ }
223
+ }
224
+ exports.NotebookFindWidget = NotebookFindWidget;
225
+ //# sourceMappingURL=notebook-find-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-find-widget.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-find-widget.tsx"],"names":[],"mappings":"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"}
@@ -4,11 +4,15 @@ import { NotebookModel } from '../view-model/notebook-model';
4
4
  import { CellRenderer } from './notebook-cell-list-view';
5
5
  import { NotebookCellModel } from '../view-model/notebook-cell-model';
6
6
  import { MonacoEditorServices } from '@theia/monaco/lib/browser/monaco-editor';
7
+ import { CommandRegistry } from '@theia/core';
7
8
  import { NotebookContextManager } from '../service/notebook-context-manager';
9
+ import { NotebookOptionsService } from '../service/notebook-options';
8
10
  export declare class NotebookMarkdownCellRenderer implements CellRenderer {
9
11
  private readonly markdownRenderer;
10
12
  protected readonly monacoServices: MonacoEditorServices;
11
13
  protected readonly notebookContextManager: NotebookContextManager;
14
+ protected readonly commandRegistry: CommandRegistry;
15
+ protected readonly notebookOptionsService: NotebookOptionsService;
12
16
  render(notebookModel: NotebookModel, cell: NotebookCellModel): React.ReactNode;
13
17
  renderDragImage(cell: NotebookCellModel): HTMLElement;
14
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notebook-markdown-cell-view.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-markdown-cell-view.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,qBACa,4BAA6B,YAAW,YAAY;IAG7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAElE,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,GAAG,KAAK,CAAC,SAAS;IAK9E,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW;CAQxD"}
1
+ {"version":3,"file":"notebook-markdown-cell-view.d.ts","sourceRoot":"","sources":["../../../src/browser/view/notebook-markdown-cell-view.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAO,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAKrE,qBACa,4BAA6B,YAAW,YAAY;IAG7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAElE,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,GAAG,KAAK,CAAC,SAAS;IAW9E,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW;CAQxD"}
@@ -25,9 +25,12 @@ const inversify_1 = require("@theia/core/shared/inversify");
25
25
  const monaco_editor_1 = require("@theia/monaco/lib/browser/monaco-editor");
26
26
  const core_1 = require("@theia/core");
27
27
  const notebook_context_manager_1 = require("../service/notebook-context-manager");
28
+ const notebook_options_1 = require("../service/notebook-options");
29
+ const notebook_code_cell_view_1 = require("./notebook-code-cell-view");
30
+ const mark = require("advanced-mark.js");
28
31
  let NotebookMarkdownCellRenderer = class NotebookMarkdownCellRenderer {
29
32
  render(notebookModel, cell) {
30
- return React.createElement(MarkdownCell, { markdownRenderer: this.markdownRenderer, monacoServices: this.monacoServices, cell: cell, notebookModel: notebookModel, notebookContextManager: this.notebookContextManager });
33
+ return React.createElement(MarkdownCell, { markdownRenderer: this.markdownRenderer, commandRegistry: this.commandRegistry, monacoServices: this.monacoServices, notebookOptionsService: this.notebookOptionsService, cell: cell, notebookModel: notebookModel, notebookContextManager: this.notebookContextManager });
31
34
  }
32
35
  renderDragImage(cell) {
33
36
  var _a;
@@ -52,28 +55,122 @@ tslib_1.__decorate([
52
55
  (0, inversify_1.inject)(notebook_context_manager_1.NotebookContextManager),
53
56
  tslib_1.__metadata("design:type", notebook_context_manager_1.NotebookContextManager)
54
57
  ], NotebookMarkdownCellRenderer.prototype, "notebookContextManager", void 0);
58
+ tslib_1.__decorate([
59
+ (0, inversify_1.inject)(core_1.CommandRegistry),
60
+ tslib_1.__metadata("design:type", core_1.CommandRegistry)
61
+ ], NotebookMarkdownCellRenderer.prototype, "commandRegistry", void 0);
62
+ tslib_1.__decorate([
63
+ (0, inversify_1.inject)(notebook_options_1.NotebookOptionsService),
64
+ tslib_1.__metadata("design:type", notebook_options_1.NotebookOptionsService)
65
+ ], NotebookMarkdownCellRenderer.prototype, "notebookOptionsService", void 0);
55
66
  exports.NotebookMarkdownCellRenderer = NotebookMarkdownCellRenderer = tslib_1.__decorate([
56
67
  (0, inversify_1.injectable)()
57
68
  ], NotebookMarkdownCellRenderer);
58
- function MarkdownCell({ markdownRenderer, monacoServices, cell, notebookModel, notebookContextManager }) {
69
+ function MarkdownCell({ markdownRenderer, monacoServices, cell, notebookModel, notebookContextManager, notebookOptionsService, commandRegistry }) {
59
70
  const [editMode, setEditMode] = React.useState(cell.editing);
71
+ let empty = false;
60
72
  React.useEffect(() => {
61
73
  const listener = cell.onDidRequestCellEditChange(cellEdit => setEditMode(cellEdit));
62
74
  return () => listener.dispose();
63
75
  }, [editMode]);
76
+ React.useEffect(() => {
77
+ if (!editMode) {
78
+ const instance = new mark(markdownContent);
79
+ cell.onMarkdownFind = options => {
80
+ instance.unmark();
81
+ if (empty) {
82
+ return [];
83
+ }
84
+ return searchInMarkdown(instance, options);
85
+ };
86
+ return () => {
87
+ cell.onMarkdownFind = undefined;
88
+ instance.unmark();
89
+ };
90
+ }
91
+ }, [editMode, cell.source]);
64
92
  let markdownContent = React.useMemo(() => {
65
93
  const markdownString = new markdown_string_1.MarkdownStringImpl(cell.source, { supportHtml: true, isTrusted: true });
66
- return markdownRenderer.render(markdownString).element;
67
- }, [cell, editMode]);
68
- if (!markdownContent.hasChildNodes()) {
94
+ const rendered = markdownRenderer.render(markdownString).element;
95
+ const children = [];
96
+ rendered.childNodes.forEach(child => {
97
+ if (child instanceof HTMLElement) {
98
+ children.push(child);
99
+ }
100
+ });
101
+ return children;
102
+ }, [cell.source]);
103
+ if (markdownContent.length === 0) {
69
104
  const italic = document.createElement('i');
70
105
  italic.className = 'theia-notebook-empty-markdown';
71
106
  italic.innerText = core_1.nls.localizeByDefault('Empty markdown cell, double-click or press enter to edit.');
72
107
  italic.style.pointerEvents = 'none';
73
- markdownContent = italic;
108
+ markdownContent = [italic];
109
+ empty = true;
74
110
  }
75
111
  return editMode ?
76
- React.createElement(notebook_cell_editor_1.CellEditor, { cell: cell, notebookModel: notebookModel, monacoServices: monacoServices, notebookContextManager: notebookContextManager }) :
77
- React.createElement("div", { className: 'theia-notebook-markdown-content', onDoubleClick: () => cell.requestEdit(), ref: node => node === null || node === void 0 ? void 0 : node.replaceChildren(markdownContent) });
112
+ (React.createElement("div", { className: 'theia-notebook-markdown-editor-container', key: "code" },
113
+ React.createElement(notebook_cell_editor_1.CellEditor, { notebookModel: notebookModel, cell: cell, monacoServices: monacoServices, notebookContextManager: notebookContextManager, fontInfo: notebookOptionsService.editorFontInfo }),
114
+ React.createElement(notebook_code_cell_view_1.NotebookCodeCellStatus, { cell: cell, notebook: notebookModel, commandRegistry: commandRegistry, onClick: () => cell.requestFocusEditor() }))) :
115
+ (React.createElement("div", { className: 'theia-notebook-markdown-content', key: "markdown", onDoubleClick: () => cell.requestEdit(), ref: node => node === null || node === void 0 ? void 0 : node.replaceChildren(...markdownContent) }));
116
+ }
117
+ function searchInMarkdown(instance, options) {
118
+ const matches = [];
119
+ const markOptions = {
120
+ className: 'theia-find-match',
121
+ diacritics: false,
122
+ caseSensitive: options.matchCase,
123
+ acrossElements: true,
124
+ separateWordSearch: false,
125
+ each: node => {
126
+ matches.push(new MarkdownEditorFindMatch(node));
127
+ }
128
+ };
129
+ if (options.regex || options.wholeWord) {
130
+ let search = options.search;
131
+ if (options.wholeWord) {
132
+ if (!options.regex) {
133
+ search = escapeRegExp(search);
134
+ }
135
+ search = '\\b' + search + '\\b';
136
+ }
137
+ instance.markRegExp(new RegExp(search, options.matchCase ? '' : 'i'), markOptions);
138
+ }
139
+ else {
140
+ instance.mark(options.search, markOptions);
141
+ }
142
+ return matches;
143
+ }
144
+ function escapeRegExp(value) {
145
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
146
+ }
147
+ class MarkdownEditorFindMatch {
148
+ constructor(node) {
149
+ this.node = node;
150
+ this._selected = false;
151
+ }
152
+ get selected() {
153
+ return this._selected;
154
+ }
155
+ set selected(selected) {
156
+ this._selected = selected;
157
+ const className = 'theia-find-match-selected';
158
+ if (this.node instanceof HTMLElement) {
159
+ if (selected) {
160
+ this.node.classList.add(className);
161
+ }
162
+ else {
163
+ this.node.classList.remove(className);
164
+ }
165
+ }
166
+ }
167
+ show() {
168
+ if (this.node instanceof HTMLElement) {
169
+ this.node.scrollIntoView({
170
+ behavior: 'instant',
171
+ block: 'center'
172
+ });
173
+ }
174
+ }
78
175
  }
79
176
  //# sourceMappingURL=notebook-markdown-cell-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notebook-markdown-cell-view.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-markdown-cell-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notebook-markdown-cell-view.js","sourceRoot":"","sources":["../../../src/browser/view/notebook-markdown-cell-view.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import { NotebookMonacoTextModelService } from '../service/notebook-monaco-text-
8
8
  import { NotebookCellOutputModel } from './notebook-cell-output-model';
9
9
  import { PreferenceService } from '@theia/core/lib/browser';
10
10
  import { LanguageService } from '@theia/core/lib/browser/language-service';
11
+ import { NotebookEditorFindMatch, NotebookEditorFindMatchOptions } from '../view/notebook-find-widget';
12
+ import { Range } from '@theia/core/shared/vscode-languageserver-protocol';
11
13
  export declare const NotebookCellModelFactory: unique symbol;
12
14
  export type NotebookCellModelFactory = (props: NotebookCellModelProps) => NotebookCellModel;
13
15
  export type CellEditorFocusRequest = number | 'lastLine' | undefined;
@@ -47,7 +49,7 @@ export declare class NotebookCellModel implements NotebookCell, Disposable {
47
49
  protected readonly onDidChangeOutputItemsEmitter: Emitter<CellOutput>;
48
50
  readonly onDidChangeOutputItems: Event<CellOutput>;
49
51
  protected readonly onDidChangeContentEmitter: Emitter<"content" | "language" | "mime">;
50
- readonly onDidChangeContent: Event<'content' | 'language' | 'mime'>;
52
+ readonly onDidChangeContent: Event<"content" | "language" | "mime">;
51
53
  protected readonly onDidChangeMetadataEmitter: Emitter<void>;
52
54
  readonly onDidChangeMetadata: Event<void>;
53
55
  protected readonly onDidChangeInternalMetadataEmitter: Emitter<CellInternalMetadataChangedEvent>;
@@ -64,6 +66,12 @@ export declare class NotebookCellModel implements NotebookCell, Disposable {
64
66
  readonly onDidChangeEditorOptions: Event<MonacoEditor.IOptions>;
65
67
  protected readonly outputVisibilityChangeEmitter: Emitter<boolean>;
66
68
  readonly onDidChangeOutputVisibility: Event<boolean>;
69
+ protected readonly onDidFindMatchesEmitter: Emitter<NotebookCodeEditorFindMatch[]>;
70
+ readonly onDidFindMatches: Event<NotebookCodeEditorFindMatch[]>;
71
+ protected readonly onDidSelectFindMatchEmitter: Emitter<NotebookCodeEditorFindMatch>;
72
+ readonly onDidSelectFindMatch: Event<NotebookCodeEditorFindMatch>;
73
+ protected onDidRequestCenterEditorEmitter: Emitter<void>;
74
+ readonly onDidRequestCenterEditor: Event<void>;
67
75
  protected readonly props: NotebookCellModelProps;
68
76
  protected readonly textModelService: NotebookMonacoTextModelService;
69
77
  protected readonly languageService: LanguageService;
@@ -101,11 +109,29 @@ export declare class NotebookCellModel implements NotebookCell, Disposable {
101
109
  requestStopEdit(): void;
102
110
  requestFocusEditor(focusRequest?: CellEditorFocusRequest): void;
103
111
  requestBlurEditor(): void;
112
+ requestCenterEditor(): void;
104
113
  spliceNotebookCellOutputs(splice: NotebookCellOutputsSplice): void;
105
114
  replaceOutputData(outputId: string, newOutputData: CellOutput): boolean;
106
115
  changeOutputItems(outputId: string, append: boolean, items: CellOutputItem[]): boolean;
107
116
  getData(): CellData;
108
117
  resolveTextModel(): Promise<MonacoEditorModel>;
109
118
  restartOutputRenderer(outputId: string): void;
119
+ onMarkdownFind: ((options: NotebookEditorFindMatchOptions) => NotebookEditorFindMatch[]) | undefined;
120
+ showMatch(selected: NotebookCodeEditorFindMatch): void;
121
+ findMatches(options: NotebookEditorFindMatchOptions): NotebookEditorFindMatch[];
122
+ replaceAll(matches: NotebookCodeEditorFindMatch[], value: string): void;
123
+ }
124
+ export interface NotebookCellFindMatches {
125
+ matches: NotebookEditorFindMatch[];
126
+ selected: NotebookEditorFindMatch;
127
+ }
128
+ export declare class NotebookCodeEditorFindMatch implements NotebookEditorFindMatch {
129
+ readonly cell: NotebookCellModel;
130
+ readonly range: Range;
131
+ readonly textModel: MonacoEditorModel;
132
+ selected: boolean;
133
+ constructor(cell: NotebookCellModel, range: Range, textModel: MonacoEditorModel);
134
+ show(): void;
135
+ replace(value: string): void;
110
136
  }
111
137
  //# sourceMappingURL=notebook-cell-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notebook-cell-model.d.ts","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notebook-cell-model.d.ts","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-cell-model.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,11 @@
19
19
  * Licensed under the MIT License. See License.txt in the project root for license information.
20
20
  *--------------------------------------------------------------------------------------------*/
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.NotebookCellModel = exports.createNotebookCellModelContainer = exports.NotebookCellModelFactory = void 0;
22
+ exports.NotebookCodeEditorFindMatch = exports.NotebookCellModel = exports.createNotebookCellModelContainer = exports.NotebookCellModelFactory = void 0;
23
23
  const tslib_1 = require("tslib");
24
24
  const core_1 = require("@theia/core");
25
25
  const inversify_1 = require("@theia/core/shared/inversify");
26
+ const common_1 = require("../../common");
26
27
  const notebook_monaco_text_model_service_1 = require("../service/notebook-monaco-text-model-service");
27
28
  const notebook_cell_output_model_1 = require("./notebook-cell-output-model");
28
29
  const browser_1 = require("@theia/core/lib/browser");
@@ -61,6 +62,12 @@ let NotebookCellModel = class NotebookCellModel {
61
62
  this.onDidChangeEditorOptions = this.onDidChangeEditorOptionsEmitter.event;
62
63
  this.outputVisibilityChangeEmitter = new core_1.Emitter();
63
64
  this.onDidChangeOutputVisibility = this.outputVisibilityChangeEmitter.event;
65
+ this.onDidFindMatchesEmitter = new core_1.Emitter();
66
+ this.onDidFindMatches = this.onDidFindMatchesEmitter.event;
67
+ this.onDidSelectFindMatchEmitter = new core_1.Emitter();
68
+ this.onDidSelectFindMatch = this.onDidSelectFindMatchEmitter.event;
69
+ this.onDidRequestCenterEditorEmitter = new core_1.Emitter();
70
+ this.onDidRequestCenterEditor = this.onDidRequestCenterEditorEmitter.event;
64
71
  this.toDispose = new core_1.DisposableCollection();
65
72
  this._editing = false;
66
73
  this._editorOptions = {};
@@ -189,6 +196,9 @@ let NotebookCellModel = class NotebookCellModel {
189
196
  this.requestStopEdit();
190
197
  this.onWillBlurCellEditorEmitter.fire();
191
198
  }
199
+ requestCenterEditor() {
200
+ this.onDidRequestCenterEditorEmitter.fire();
201
+ }
192
202
  spliceNotebookCellOutputs(splice) {
193
203
  if (splice.deleteCount > 0 && splice.newOutputs.length > 0) {
194
204
  const commonLen = Math.min(splice.deleteCount, splice.newOutputs.length);
@@ -258,6 +268,44 @@ let NotebookCellModel = class NotebookCellModel {
258
268
  this.onDidChangeOutputItemsEmitter.fire(output);
259
269
  }
260
270
  }
271
+ showMatch(selected) {
272
+ this.onDidSelectFindMatchEmitter.fire(selected);
273
+ }
274
+ findMatches(options) {
275
+ var _a, _b;
276
+ if (this.cellKind === common_1.CellKind.Markup && !this.editing) {
277
+ return (_b = (_a = this.onMarkdownFind) === null || _a === void 0 ? void 0 : _a.call(this, options)) !== null && _b !== void 0 ? _b : [];
278
+ }
279
+ if (!this.textModel) {
280
+ return [];
281
+ }
282
+ const matches = options.search ? this.textModel.findMatches({
283
+ searchString: options.search,
284
+ isRegex: options.regex,
285
+ matchCase: options.matchCase,
286
+ matchWholeWord: options.wholeWord
287
+ }) : [];
288
+ const editorFindMatches = matches.map(match => new NotebookCodeEditorFindMatch(this, match.range, this.textModel));
289
+ this.onDidFindMatchesEmitter.fire(editorFindMatches);
290
+ return editorFindMatches;
291
+ }
292
+ replaceAll(matches, value) {
293
+ var _a;
294
+ const editOperations = matches.map(match => ({
295
+ range: {
296
+ startColumn: match.range.start.character,
297
+ startLineNumber: match.range.start.line,
298
+ endColumn: match.range.end.character,
299
+ endLineNumber: match.range.end.line
300
+ },
301
+ text: value
302
+ }));
303
+ (_a = this.textModel) === null || _a === void 0 ? void 0 : _a.textEditorModel.pushEditOperations(
304
+ // eslint-disable-next-line no-null/no-null
305
+ null, editOperations,
306
+ // eslint-disable-next-line no-null/no-null
307
+ () => null);
308
+ }
261
309
  };
262
310
  exports.NotebookCellModel = NotebookCellModel;
263
311
  tslib_1.__decorate([
@@ -285,6 +333,33 @@ tslib_1.__decorate([
285
333
  exports.NotebookCellModel = NotebookCellModel = tslib_1.__decorate([
286
334
  (0, inversify_1.injectable)()
287
335
  ], NotebookCellModel);
336
+ class NotebookCodeEditorFindMatch {
337
+ constructor(cell, range, textModel) {
338
+ this.cell = cell;
339
+ this.range = range;
340
+ this.textModel = textModel;
341
+ this.selected = false;
342
+ }
343
+ show() {
344
+ this.cell.showMatch(this);
345
+ }
346
+ replace(value) {
347
+ this.textModel.textEditorModel.pushEditOperations(
348
+ // eslint-disable-next-line no-null/no-null
349
+ null, [{
350
+ range: {
351
+ startColumn: this.range.start.character,
352
+ startLineNumber: this.range.start.line,
353
+ endColumn: this.range.end.character,
354
+ endLineNumber: this.range.end.line
355
+ },
356
+ text: value
357
+ }],
358
+ // eslint-disable-next-line no-null/no-null
359
+ () => null);
360
+ }
361
+ }
362
+ exports.NotebookCodeEditorFindMatch = NotebookCodeEditorFindMatch;
288
363
  function computeRunStartTimeAdjustment(oldMetadata, newMetadata) {
289
364
  if (oldMetadata.runStartTime !== newMetadata.runStartTime && typeof newMetadata.runStartTime === 'number') {
290
365
  const offset = Date.now() - newMetadata.runStartTime;