Archived
1
0
This repository has been archived on 2024-09-09. You can view files and clone it, but cannot push or open issues or pull requests.
code-server/extensions/vscode-custom-editor-tests/customEditorMedia/textEditor.js
Joe Previte be3e823608 Squashed 'lib/vscode/' content from commit e5a624b788
git-subtree-dir: lib/vscode
git-subtree-split: e5a624b788d92b8d34d1392e4c4d9789406efe8f
2020-12-15 15:52:33 -07:00

57 lines
1.3 KiB
JavaScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// @ts-check
(function () {
// @ts-ignore
const vscode = acquireVsCodeApi();
const textArea = document.querySelector('textarea');
const initialState = vscode.getState();
if (initialState) {
textArea.value = initialState.value;
}
window.addEventListener('message', e => {
switch (e.data.type) {
case 'fakeInput':
{
const value = e.data.value;
textArea.value = value;
onInput();
break;
}
case 'setValue':
{
const value = e.data.value;
textArea.value = value;
vscode.setState({ value });
vscode.postMessage({
type: 'didChangeContent',
value: value
});
break;
}
}
});
const onInput = () => {
const value = textArea.value;
vscode.setState({ value });
vscode.postMessage({
type: 'edit',
value: value
});
vscode.postMessage({
type: 'didChangeContent',
value: value
});
};
textArea.addEventListener('input', onInput);
}());