Add getActivityId JS function
This commit is contained in:
parent
8a30bfe66a
commit
1f94b977f4
|
|
@ -55,6 +55,7 @@ namespace Elsa.Scripting.JavaScript.Handlers
|
|||
engine.SetValue("getWorkflowDefinitionIdByName", (Func<string, string?>)(name => GetWorkflowDefinitionIdByName(activityExecutionContext, name)));
|
||||
engine.SetValue("getWorkflowDefinitionIdByTag", (Func<string, string?>)(tag => GetWorkflowDefinitionIdByTag(activityExecutionContext, tag)));
|
||||
engine.SetValue("getActivity", (Func<string, object?>)(idOrName => GetActivityModel(activityExecutionContext, idOrName)));
|
||||
engine.SetValue("getActivityId", (Func<string, string?>)(activityName => GetActivityId(activityExecutionContext, activityName)));
|
||||
engine.SetValue("findExecutedActivityIdByType", (Func<string, string?>)(activityTypeName => FindExecutedActivityByTypeAsync(activityExecutionContext, activityTypeName, cancellationToken).Result));
|
||||
engine.SetValue("jsonEncode", (Func<object, string>)(JsonConvert.SerializeObject));
|
||||
engine.SetValue("jsonDecode", (Func<string, object?>)JsonConvert.DeserializeObject);
|
||||
|
|
@ -165,6 +166,13 @@ namespace Elsa.Scripting.JavaScript.Handlers
|
|||
return activity == null ? null : workflowExecutionContext.WorkflowInstance.ActivityData[activity.Id];
|
||||
}
|
||||
|
||||
private string? GetActivityId(ActivityExecutionContext context, string activityName)
|
||||
{
|
||||
var workflowExecutionContext = context.WorkflowExecutionContext;
|
||||
var activity = workflowExecutionContext.GetActivityBlueprintByName(activityName);
|
||||
return activity?.Id;
|
||||
}
|
||||
|
||||
private async Task<object?> GetActivityPropertyAsync(string activityIdOrName, string propertyName, ActivityExecutionContext context)
|
||||
{
|
||||
var workflowExecutionContext = context.WorkflowExecutionContext;
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ namespace Elsa.Scripting.JavaScript.Handlers
|
|||
output.AppendLine("declare function getWorkflowDefinitionIdByName(name: string): string;");
|
||||
output.AppendLine("declare function getWorkflowDefinitionIdByTag(tag: string): string;");
|
||||
output.AppendLine("declare function getActivity(idOrName: string): any;");
|
||||
output.AppendLine("declare function getActivityId(name: string): string;");
|
||||
output.AppendLine("declare function getActivityProperty(activityIdOrName: string, propertyName: string): any;");
|
||||
|
||||
output.AppendLine("declare const activityExecutionContext: ActivityExecutionContext;");
|
||||
|
|
|
|||
Loading…
Reference in a new issue