SelectDesign
Node Action:
The SelectDesign node action selects a design in the backstage.
Parameters:
se_type
SelectDesign
se_type = SelectDesignse_designId
The design ID of the design to select.
se_determineDesignId
A lambda to create the design ID.
Example:
Open Design: Open or select a design in the backstage.
digraph workflow {
entry[
se_type0 = BackstageToolTrigger,
se_displayName0 = "Open Design"
se_iconService0 = ""
se_iconUrl0 = ""
se_requiresConnection0 = false,
se_sortOrder0 = 0,
se_visibilityCondition0 = "(dynamicStateMachineContext, msLogger) => {
return true;
}",
]
GetDesignName[
se_type0 = PromptUser,
se_cardTemplate0 = "
{
\"type\": \"AdaptiveCard\",
\"$schema\": \"https://adaptivecards.io/schemas/adaptive-card.json\",
\"version\": \"1.5\",
\"body\": [
{
\"type\": \"Input.Text\",
\"label\": \"Design Name\",
\"placeholder\": \"Name\",
\"id\": \"DesignName\"
}
],
\"actions\": [
{
\"type\": \"Action.Submit\",
\"title\": \"Open\",
\"id\": \"Open\"
},
{
\"type\": \"Action.Submit\",
\"title\": \"Select\",
\"id\": \"Select\"
}
]
}"
se_promptCaption0 = "Search Design Name"
se_resultVariable0 = DesignNameResult
]
QueryDesign[
se_type0 = Api,
se_body0 = ""
se_method0 = "GET"
se_modifyRequest0 = "(request, ctx, log) => {
var name = ctx.State.DesignNameResult.userInputs.DesignName;
var search = $\"select * from c where CONTAINS(c.name, '{name}',true)\";
var query = System.Net.WebUtility.UrlEncode(search);
var uri = new Uri($\"api/v1/query?q={query}&tenantId={ctx.User.TenantId}&pageSize=50&walkAncestry=False&walkReferenceDesigns=False\", UriKind.RelativeOrAbsolute);
request.RequestUri = uri;
}",
se_service0 = DesignerCoordination
se_resultVariable0 = Designs
]
OpenDesign[
se_type0 = OpenDesign,
se_determineDesignId0 = "(ctx, msLogger) => {
return ctx.State.Designs.designs[0].id.ToString();
}",
]
SelectDesign[
se_type0 = SelectDesign,
se_designId0 = ""
se_determineDesignId0 = "(ctx, msLogger) => {
return ctx.State.Designs.designs[0].id.ToString();
}",
]
entry->GetDesignName->QueryDesign
QueryDesign->OpenDesign[
weight=1;
constraint=false
se_type=Condition,
se_condition="(ctx, log) => {
return ctx.State.DesignNameResult.submittedAction.id == \"Open\";
}"
];
QueryDesign->SelectDesign[
weight=1;
constraint=false
se_type=Condition,
se_condition="(ctx, log) => {
return ctx.State.DesignNameResult.submittedAction.id == \"Select\";
}"
];
OpenDesign->exit
SelectDesign->exit
}