in apps/vs-code-designer/src/app/commands/workflows/openDesigner/openDesignerForLocalProject.ts [172:266]
private async _handleWebviewMsg(msg: any) {
switch (msg.command) {
case ExtensionCommand.initialize: {
this.sendMsgToWebview({
command: ExtensionCommand.initialize_frame,
data: {
project: ProjectName.designer,
panelMetadata: this.panelMetadata,
connectionData: this.connectionData,
baseUrl: this.baseUrl,
workflowRuntimeBaseUrl: this.workflowRuntimeBaseUrl,
apiVersion: this.apiVersion,
apiHubServiceDetails: this.apiHubServiceDetails,
readOnly: this.readOnly,
isLocal: this.isLocal,
isMonitoringView: this.isMonitoringView,
workflowDetails: this.workflowDetails,
oauthRedirectUrl: this.oauthRedirectUrl,
hostVersion: ext.extensionVersion,
isUnitTest: this.isUnitTest,
unitTestDefinition: this.unitTestDefinition,
runId: this.runId,
},
});
if (!this.isUnitTest) {
await this.validateWorkflow(this.panelMetadata.workflowContent);
}
break;
}
case ExtensionCommand.save: {
await this.saveWorkflow(
this.workflowFilePath,
this.panelMetadata.workflowContent,
msg,
this.panelMetadata.parametersData,
this.panelMetadata.azureDetails?.tenantId,
this.panelMetadata.azureDetails?.workflowManagementBaseUrl
);
await this.validateWorkflow(this.panelMetadata.workflowContent);
break;
}
case ExtensionCommand.saveBlankUnitTest: {
await saveBlankUnitTest(this.context as IAzureConnectorsContext, Uri.file(this.workflowFilePath), msg.definition);
break;
}
case ExtensionCommand.saveUnitTest: {
await saveUnitTestDefinition(this.projectPath, this.workflowName, this.unitTestName, msg.definition);
break;
}
case ExtensionCommand.addConnection: {
await addConnectionData(this.context, this.workflowFilePath, msg.connectionAndSetting);
break;
}
case ExtensionCommand.openOauthLoginPopup: {
await env.openExternal(msg.url);
break;
}
case ExtensionCommand.createFileSystemConnection: {
{
const connectionName = msg.connectionName;
const { connection, errorMessage } = await this.createFileSystemConnection(msg.connectionInfo);
this.sendMsgToWebview({
command: ExtensionCommand.completeFileSystemConnection,
data: {
connectionName,
connection,
errorMessage,
},
});
}
break;
}
case ExtensionCommand.openRelativeLink: {
if (msg.content === '/dataMapper') {
createNewDataMapCmd(this.context);
}
break;
}
case ExtensionCommand.logTelemetry: {
const eventName = msg.data.name ?? msg.data.area;
ext.telemetryReporter.sendTelemetryEvent(eventName, { ...msg.data });
break;
}
case ExtensionCommand.fileABug: {
await openUrl('https://github.com/Azure/LogicAppsUX/issues/new?template=bug_report.yml');
break;
}
default:
break;
}
}