From 5dd2c0be34cd3030df42f9d95e6cb20b28f7092a Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Tue, 13 Apr 2021 23:01:49 +0200 Subject: [PATCH] Add workflowContext global JS variable --- .../Services/Models/ActivityExecutionContext.cs | 1 + .../Services/Models/WorkflowExecutionContext.cs | 1 + .../Handlers/ConfigureJavaScriptEngine.cs | 1 + 3 files changed, 3 insertions(+) diff --git a/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs b/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs index 215d26ac8..1b5e86041 100644 --- a/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs +++ b/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs @@ -157,6 +157,7 @@ namespace Elsa.Services.Models public T? GetOutputFrom(string activityName, Func defaultValue) => (T?) GetOutputFrom(activityName, defaultValue())!; public T? GetOutputFrom(string activityName, T? defaultValue) => (T?) GetOutputFrom(activityName, () => defaultValue)!; public void SetWorkflowContext(object? value) => WorkflowExecutionContext.SetWorkflowContext(value); + public object? GetWorkflowContext() => WorkflowExecutionContext.GetWorkflowContext(); public T GetWorkflowContext() => WorkflowExecutionContext.GetWorkflowContext(); public JObject GetActivityData(string activityId) diff --git a/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs b/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs index 9d2d5152c..6794c2071 100644 --- a/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs +++ b/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs @@ -203,6 +203,7 @@ namespace Elsa.Services.Models public T GetOutputFrom(string activityName) => (T) GetOutputFrom(activityName)!; public void SetWorkflowContext(object? value) => WorkflowContext = value; + public object? GetWorkflowContext() => WorkflowContext; public T GetWorkflowContext() => (T) WorkflowContext!; /// diff --git a/src/scripting/Elsa.Scripting.JavaScript/Handlers/ConfigureJavaScriptEngine.cs b/src/scripting/Elsa.Scripting.JavaScript/Handlers/ConfigureJavaScriptEngine.cs index 95fd94d1e..28486f9c1 100644 --- a/src/scripting/Elsa.Scripting.JavaScript/Handlers/ConfigureJavaScriptEngine.cs +++ b/src/scripting/Elsa.Scripting.JavaScript/Handlers/ConfigureJavaScriptEngine.cs @@ -39,6 +39,7 @@ namespace Elsa.Scripting.JavaScript.Handlers engine.SetValue("input", activityContext.Input); engine.SetValue("correlationId", workflowInstance.CorrelationId); engine.SetValue("currentCulture", CultureInfo.InvariantCulture); + engine.SetValue("workflowContext", activityContext.GetWorkflowContext()); // NodaTime types. RegisterType(engine);