in apps/Standalone/src/templates/app/TemplatesConsumption.tsx [105:199]
value: parseWorkflowParameterValue(parameter.type, parameter?.value ?? parameter?.default),
};
sanitizedWorkflowDefinition = replaceAllStringInWorkflowDefinition(
sanitizedWorkflowDefinition,
`parameters('${parameter.name}')`,
`parameters('${sanitizedParameterName}')`
);
});
const { references, stringifiedDefinition: updatedStringifiedDefinition } = updateConnectionsDataWithNewConnections(
connectionsMapping,
sanitizedWorkflowDefinition
);
const workflowDefinition = JSON.parse(updatedStringifiedDefinition);
const workflowToSave: any = {
definition: workflowDefinition,
parameters,
connections: references,
};
const workflowArtifacts = await getWorkflowAndArtifactsConsumption(workflowId!);
await saveWorkflowConsumption(workflowArtifacts, workflowToSave, () => {}, { throwError: true });
alert('Workflow saved successfully!');
} else {
console.log('Select Logic App first!');
}
};
const services = useMemo(
() => getServices(workflowId!, workflow as any, tenantId, objectId, canonicalLocation, language, onBlankWorkflowClick, queryClient),
// eslint-disable-next-line react-hooks/exhaustive-deps
[workflowId, workflow, tenantId, canonicalLocation, language]
);
const resourceDetails = new ArmParser(workflowId ?? '');
const onReloadServices = useCallback(() => {
const {
workflow: { subscriptionId, resourceGroup, location },
templateOptions: { reInitializeServices },
} = templateStore.getState();
console.log('onReloadServices - Resource is updated');
if (reInitializeServices) {
templateStore.dispatch(
resetStateOnResourceChange(
getResourceBasedServices(
subscriptionId,
resourceGroup,
tenantId,
objectId,
WorkflowUtility.convertToCanonicalFormat(location ?? 'westus'),
language,
queryClient,
workflowId
)
)
);
}
}, [language, objectId, queryClient, tenantId, workflowId]);
if (!workflowData) {
return null;
}
return (
<TemplatesDesignerProvider locale="en-US" theme={theme}>
<TemplatesDataProvider
resourceDetails={{
subscriptionId: resourceDetails.subscriptionId,
resourceGroup: resourceDetails.resourceGroup,
location: canonicalLocation,
}}
connectionReferences={connectionReferences}
services={services}
isConsumption={true}
isCreateView={!!isCreateView}
enableResourceSelection={enableResourceSelection}
viewTemplate={isSingleTemplateView ? { id: templatesView } : undefined}
onResourceChange={onReloadServices}
>
<div
style={{
margin: '20px',
}}
>
{isSingleTemplateView ? (
<TemplatesView createWorkflow={createWorkflowCall} showCloseButton={true} onClose={() => window.alert('Template is closing')} />
) : (
<TemplatesDesigner
createWorkflowCall={createWorkflowCall}
detailFilters={{
Category: {
displayName: 'Categories',
items: [
{