web - first cut API

This commit is contained in:
Benjamin Pasero
2019-06-17 10:02:50 +02:00
parent 770c8d50ef
commit c255f9efba
8 changed files with 79 additions and 60 deletions

View File

@@ -10,14 +10,17 @@
<body class="vs-dark" aria-label="">
</body>
<!-- Startup via workbench.js -->
<!-- Require our AMD loader -->
<script src="./out/vs/loader.js"></script>
<!-- Window Configuration from Server -->
<script>
self.CONNECTION_AUTH_TOKEN = '{{CONNECTION_AUTH_TOKEN}}';
self.WINDOW_CONFIGURATION = {
connectionAuthToken: '{{CONNECTION_AUTH_TOKEN}}',
folderUri: '{{FOLDER}}',
workspaceUri: '{{WORKSPACE}}',
userDataUri: '{{USER_DATA}}',
authority: '{{AUTHORITY}}',
remoteAuthority: '{{AUTHORITY}}',
webviewEndpoint: '{{WEBVIEW_ENDPOINT}}'
}
</script>

View File

@@ -8,39 +8,22 @@
(function () {
function loadScript(path, callback) {
let script = document.createElement('script');
script.onload = callback;
script.async = true;
script.type = 'text/javascript';
script.src = path;
document.head.appendChild(script);
}
loadScript('./out/vs/loader.js', function () {
// @ts-ignore
require.config({
baseUrl: `${window.location.origin}/out`,
paths: {
'vscode-textmate': `${window.location.origin}/node_modules/vscode-textmate/release/main`,
'onigasm-umd': `${window.location.origin}/node_modules/onigasm-umd/release/main`,
'xterm': `${window.location.origin}/node_modules/xterm/lib/xterm.js`,
'xterm-addon-search': `${window.location.origin}/node_modules/xterm-addon-search/lib/xterm-addon-search.js`,
'xterm-addon-web-links': `${window.location.origin}/node_modules/xterm-addon-web-links/lib/xterm-addon-web-links.js`,
}
});
// @ts-ignore
require(['vs/workbench/workbench.web.api'], function () {
// @ts-ignore
require.config({
baseUrl: `${window.location.origin}/out`,
paths: {
'vscode-textmate': `${window.location.origin}/node_modules/vscode-textmate/release/main`,
'onigasm-umd': `${window.location.origin}/node_modules/onigasm-umd/release/main`,
'xterm': `${window.location.origin}/node_modules/xterm/lib/xterm.js`,
'xterm-addon-search': `${window.location.origin}/node_modules/xterm-addon-search/lib/xterm-addon-search.js`,
'xterm-addon-web-links': `${window.location.origin}/node_modules/xterm-addon-web-links/lib/xterm-addon-web-links.js`,
}
});
// @ts-ignore
require([
'vs/workbench/workbench.web.main',
'vs/nls!vs/workbench/workbench.web.main',
'vs/css!vs/workbench/workbench.web.main'
],
// @ts-ignore
function () {
// @ts-ignore
require('vs/workbench/browser/web.main').main(self['WINDOW_CONFIGURATION']).then(undefined, console.error);
});
// eslint-disable-next-line no-undef
monaco.workbench.create(document.body, self.WINDOW_CONFIGURATION);
});
})();