Make monaco editor component more configurable to support monaco scripts hosted on a different path

This commit is contained in:
Sipke Schoorstra 2021-05-10 21:32:02 +02:00
parent 6889b0cf38
commit 77c05f3a32
5 changed files with 10 additions and 12 deletions

View file

@ -1,7 +1,7 @@
@using Microsoft.JSInterop
@inject IJSRuntime JS;
<elsa-workflow-definition-editor-screen server-url="@ServerUrl" workflow-definition-id="@WorkflowDefinitionId" monaco-lib-path="_content/Elsa.Designer.Components.Web"></elsa-workflow-definition-editor-screen>
<elsa-workflow-definition-editor-screen server-url="@ServerUrl" workflow-definition-id="@WorkflowDefinitionId" monaco-lib-path="_content/Elsa.Designer.Components.Web/monaco-editor/min"></elsa-workflow-definition-editor-screen>
@code{

View file

@ -3,23 +3,20 @@ const require = win.require;
let initialized = false;
export function initializeMonacoWorker(libPath?: string) {
export function initializeMonacoWorker(libPath: string) {
if (initialized)
return;
if (!libPath)
libPath = 'assets/js';
const origin = document.location.origin;
const baseUrl = `${origin}/${libPath}/monaco-editor/min`;
const baseUrl = `${origin}/${libPath}`;
require.config({paths: {'vs': `${baseUrl}/vs`}});
win.MonacoEnvironment = {getWorkerUrl: () => proxy};
let proxy = URL.createObjectURL(new Blob([`
self.MonacoEnvironment = {
baseUrl: '${baseUrl}/'
baseUrl: '${baseUrl}'
};
importScripts('${baseUrl}/vs/base/worker/workerMain.js');
`], {type: 'text/javascript'}));

View file

@ -14,9 +14,9 @@
</head>
<body class="h-screen" style="background-size: 30px 30px; background-image: url(/build/assets/images/tile.png); background-color: #FBFBFB;">
<elsa-studio-root server-url="https://localhost:11000" monaco-lib-path="build/assets/js"></elsa-studio-root>
<!--<elsa-studio-root server-url="https://localhost:6080" monaco-lib-path="build/assets/js"></elsa-studio-root>-->
<!--<elsa-studio-root server-url="https://skynet-workflow.azurewebsites.net" monaco-lib-path="build/assets/js"></elsa-studio-root>-->
<elsa-studio-root server-url="https://localhost:11000" monaco-lib-path="build/assets/js/monaco-editor/min"></elsa-studio-root>
<!--<elsa-studio-root server-url="https://localhost:6080" monaco-lib-path="build/assets/js/monaco-editor/min"></elsa-studio-root>-->
<!--<elsa-studio-root server-url="https://skynet-workflow.azurewebsites.net" monaco-lib-path="build/assets/js/monaco-editor/min"></elsa-studio-root>-->
</body>
</html>

View file

@ -18,6 +18,6 @@
<script type="module" src="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/elsa-workflows-studio.esm.js"></script>
</head>
<body class="h-screen" style="background-size: 30px 30px; background-image: url(/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/images/tile.png); background-color: #FBFBFB;">
<elsa-studio-root server-url="@serverUrl" monaco-lib-path="_content/Elsa.Designer.Components.Web"></elsa-studio-root>
<elsa-studio-root server-url="@serverUrl" monaco-lib-path="_content/Elsa.Designer.Components.Web/monaco-editor/min"></elsa-studio-root>
</body>
</html>

View file

@ -35,7 +35,8 @@ namespace ElsaDashboard.Samples.AspNetCore.Monolith
.AddEmailActivities(elsaSection.GetSection("Smtp").Bind)
.AddQuartzTemporalActivities()
.AddJavaScriptActivities()
.AddWorkflow<HeartbeatWorkflow>()
.AddActivitiesFrom<Startup>()
.AddWorkflowsFrom<Startup>()
);
services