@basthon/console-react 0.3.0 → 0.3.1
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/gui/editor.d.ts +3 -1
- package/lib/gui/editor.js +9 -2
- package/lib/gui/gui.d.ts +2 -1
- package/lib/gui/gui.js +3 -2
- package/package.json +1 -1
package/lib/gui/editor.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export default class Editor {
|
|
|
7
7
|
private _kernel;
|
|
8
8
|
private _editor;
|
|
9
9
|
private _onSetContent?;
|
|
10
|
+
private _silentChange;
|
|
10
11
|
constructor(element: HTMLElement, kernel: KernelBase, onSetContent?: (_: string) => void, onChange?: () => void);
|
|
11
12
|
/**
|
|
12
13
|
* Set Ace mode from language.
|
|
@@ -18,8 +19,9 @@ export default class Editor {
|
|
|
18
19
|
setTheme(theme: Theme): Promise<void>;
|
|
19
20
|
/**
|
|
20
21
|
* Dispatch action to set content.
|
|
22
|
+
* If silent is true, editor's onChange is not triggered.
|
|
21
23
|
*/
|
|
22
|
-
setContent(content: string): void;
|
|
24
|
+
setContent(content: string, silent?: boolean): void;
|
|
23
25
|
/**
|
|
24
26
|
* Set Ace editor content.
|
|
25
27
|
*/
|
package/lib/gui/editor.js
CHANGED
|
@@ -4,6 +4,7 @@ import ace from "./ace";
|
|
|
4
4
|
*/
|
|
5
5
|
export default class Editor {
|
|
6
6
|
constructor(element, kernel, onSetContent, onChange) {
|
|
7
|
+
this._silentChange = false;
|
|
7
8
|
this._kernel = kernel;
|
|
8
9
|
this._onSetContent = onSetContent;
|
|
9
10
|
this._editor = ace.edit(element);
|
|
@@ -16,7 +17,11 @@ export default class Editor {
|
|
|
16
17
|
});
|
|
17
18
|
// connect onchange
|
|
18
19
|
if (onChange != null)
|
|
19
|
-
this._editor.session.on("change", () =>
|
|
20
|
+
this._editor.session.on("change", () => {
|
|
21
|
+
if (!this._silentChange)
|
|
22
|
+
onChange();
|
|
23
|
+
this._silentChange = false;
|
|
24
|
+
});
|
|
20
25
|
/* editor's completion */
|
|
21
26
|
// removing all completers and keeping track of local completer
|
|
22
27
|
const localCompleter = this._editor.completers[1]; // any hint to detect this dynamically?
|
|
@@ -83,8 +88,10 @@ export default class Editor {
|
|
|
83
88
|
}
|
|
84
89
|
/**
|
|
85
90
|
* Dispatch action to set content.
|
|
91
|
+
* If silent is true, editor's onChange is not triggered.
|
|
86
92
|
*/
|
|
87
|
-
setContent(content) {
|
|
93
|
+
setContent(content, silent = false) {
|
|
94
|
+
this._silentChange = silent === true;
|
|
88
95
|
this._onSetContent?.(content);
|
|
89
96
|
}
|
|
90
97
|
/**
|
package/lib/gui/gui.d.ts
CHANGED
|
@@ -39,8 +39,9 @@ export default class GUI extends GUIBase {
|
|
|
39
39
|
content(): string;
|
|
40
40
|
/**
|
|
41
41
|
* Set editor's content.
|
|
42
|
+
* If silent is true, editor's onChange is not triggered.
|
|
42
43
|
*/
|
|
43
|
-
setContent(content: string): void;
|
|
44
|
+
setContent(content: string, silent?: boolean): void;
|
|
44
45
|
/**
|
|
45
46
|
* Notify the user with an error.
|
|
46
47
|
*/
|
package/lib/gui/gui.js
CHANGED
|
@@ -62,9 +62,10 @@ export default class GUI extends GUIBase {
|
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Set editor's content.
|
|
65
|
+
* If silent is true, editor's onChange is not triggered.
|
|
65
66
|
*/
|
|
66
|
-
setContent(content) {
|
|
67
|
-
this._editor?.setContent(content);
|
|
67
|
+
setContent(content, silent = false) {
|
|
68
|
+
this._editor?.setContent(content, silent);
|
|
68
69
|
}
|
|
69
70
|
/**
|
|
70
71
|
* Notify the user with an error.
|