Skip to content

Commit 6735fb8

Browse files
authored
Merge pull request #1029 from wso2/wso2-integrator
Fix treeview in WI mode
2 parents dfcd6c4 + b2e63d0 commit 6735fb8

File tree

5 files changed

+26
-15
lines changed

5 files changed

+26
-15
lines changed

workspaces/bi/bi-extension/src/project-explorer/activate.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,15 @@ function registerCoreCommands(dataProvider: ProjectExplorerEntryProvider, isInWI
8282
dataProvider.revealInTreeView(event.documentUri, event.projectPath, event.position, event.view);
8383
}
8484
);
85-
85+
8686
// Register the refresh command
87-
commands.registerCommand(isInWI ? WI_PROJECT_EXPLORER_VIEW_REFRESH_COMMAND : BI_COMMANDS.REFRESH_COMMAND, () => dataProvider.refresh());
87+
commands.registerCommand(BI_COMMANDS.REFRESH_COMMAND, () => {
88+
if (isInWI) {
89+
commands.executeCommand(WI_PROJECT_EXPLORER_VIEW_REFRESH_COMMAND);
90+
return;
91+
}
92+
dataProvider.refresh()
93+
});
8894
}
8995

9096
function registerBallerinaCommands(

workspaces/mi/mi-extension/src/constants/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ export const COMMANDS = {
5353
OPEN_DSS_SERVICE_DESIGNER: "MI.project-explorer.open-dss-service-designer",
5454
ADD_MEDIATOR: "MI.addMediator",
5555
REFRESH_COMMAND: 'MI.project-explorer.refresh',
56+
WI_PROJECT_EXPLORER_VIEW_REFRESH: 'wso2-integrator.explorer.refresh',
5657
ADD_COMMAND: 'MI.project-explorer.add',
5758
ADD_ARTIFACT_COMMAND: 'MI.project-explorer.add.artifact',
5859
ADD_API_COMMAND: 'MI.project-explorer.add-api',
@@ -131,7 +132,7 @@ export const DEFAULT_PROJECT_VERSION = "1.0.0";
131132

132133
export const READONLY_MAPPING_FUNCTION_NAME = "mapFunction";
133134

134-
export const REFRESH_ENABLED_DOCUMENTS = ["SynapseXml", "typescript", "markdown", "json"];
135+
export const REFRESH_ENABLED_DOCUMENTS = ["xml", "SynapseXml", "typescript", "markdown", "json"];
135136

136137
export enum EndpointTypes {
137138
DEFAULT_ENDPOINT = "DEFAULT_ENDPOINT",
@@ -206,5 +207,4 @@ export const ERROR_MESSAGES = {
206207

207208
export const WI_EXTENSION_ID = 'wso2.wso2-integrator';
208209
export const WI_PROJECT_EXPLORER_VIEW_ID = 'wso2-integrator.explorer';
209-
export const WI_PROJECT_EXPLORER_VIEW_REFRESH_COMMAND = 'wso2-integrator.explorer.refresh';
210210
export const MI_PROJECT_EXPLORER_VIEW_ID = 'MI.project-explorer';

workspaces/mi/mi-extension/src/project-explorer/activate.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import * as vscode from 'vscode';
2020
import { ProjectExplorerEntry, ProjectExplorerEntryProvider } from './project-explorer-provider';
2121
import { getStateMachine, openView, refreshUI } from '../stateMachine';
2222
import { EVENT_TYPE, MACHINE_VIEW, VisualizerLocation } from '@wso2/mi-core';
23-
import { COMMANDS, WI_PROJECT_EXPLORER_VIEW_REFRESH_COMMAND } from '../constants';
23+
import { COMMANDS } from '../constants';
2424
import { ExtensionContext, TreeItem, Uri, ViewColumn, commands, window, workspace } from 'vscode';
2525
import path = require("path");
2626
import { deleteRegistryResource, deleteDataMapperResources, deleteSchemaResources } from '../util/fileOperations';
@@ -52,7 +52,13 @@ export async function activateProjectExplorer(treeviewId: string, context: Exten
5252
const runtimeVersion = projectDetailsRes.primaryDetails.runtimeVersion.value;
5353
const isRegistrySupported = compareVersions(runtimeVersion, RUNTIME_VERSION_440) < 0;
5454

55-
commands.registerCommand(isInWI ? WI_PROJECT_EXPLORER_VIEW_REFRESH_COMMAND : COMMANDS.REFRESH_COMMAND, () => { return projectExplorerDataProvider.refresh(); });
55+
commands.registerCommand(COMMANDS.REFRESH_COMMAND, () => {
56+
if (isInWI) {
57+
commands.executeCommand(COMMANDS.WI_PROJECT_EXPLORER_VIEW_REFRESH);
58+
return;
59+
}
60+
return projectExplorerDataProvider.refresh();
61+
});
5662

5763
commands.registerCommand(COMMANDS.ADD_ARTIFACT_COMMAND, (entry: ProjectExplorerEntry) => {
5864
openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.ADD_ARTIFACT, projectUri: entry.info?.path });

workspaces/mi/mi-extension/src/stateMachine.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,7 @@ export const getStateMachine = (projectUri: string, context?: VisualizerLocation
699699
if (!workspaces) {
700700
console.warn('No workspace folder is open.');
701701
}
702-
log(vscode.extensions.all.map(ext => ext.id).join(', '));
702+
703703
stateService = interpret(stateMachine.withContext({
704704
projectUri: projectUri,
705705
langClient: null,

workspaces/mi/mi-extension/src/visualizer/activate.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,8 @@ export function activateVisualizer(context: vscode.ExtensionContext, firstProjec
208208
// Listen for pom changes and update dependencies
209209
context.subscriptions.push(
210210
// Handle the text change and diagram update with rpc notification
211-
vscode.workspace.onDidChangeTextDocument(async function (document) {
212-
const projectUri = vscode.workspace.getWorkspaceFolder(document.document.uri)?.uri.fsPath;
213-
211+
vscode.workspace.onDidChangeTextDocument(async function (e : vscode.TextDocumentChangeEvent) {
212+
const projectUri = vscode.workspace.getWorkspaceFolder(e.document.uri)?.uri.fsPath;
214213
if (!projectUri) {
215214
return;
216215
}
@@ -221,19 +220,19 @@ export function activateVisualizer(context: vscode.ExtensionContext, firstProjec
221220
return;
222221
}
223222

224-
if (!REFRESH_ENABLED_DOCUMENTS.includes(document.document.languageId) || !projectUri) {
223+
if (!REFRESH_ENABLED_DOCUMENTS.includes(e.document.languageId) || !projectUri) {
225224
return;
226225
}
227226

228227
if (webview?.getWebview()?.active || AiPanelWebview.currentPanel?.getWebview()?.active) {
229-
await document.document.save();
230-
if (!getStateMachine(projectUri).context().view?.endsWith('Form') && document?.document?.uri?.fsPath?.includes(artifactsDir)) {
228+
await e.document.save();
229+
if (!getStateMachine(projectUri).context().view?.endsWith('Form') && e?.document?.uri?.fsPath?.includes(artifactsDir)) {
231230
refreshDiagram(projectUri);
232231
}
233232
}
234233

235-
if (document.document.uri.fsPath.endsWith('pom.xml')) {
236-
const projectUri = vscode.workspace.getWorkspaceFolder(document.document.uri)?.uri.fsPath;
234+
if (e.document.uri.fsPath.endsWith('pom.xml')) {
235+
const projectUri = vscode.workspace.getWorkspaceFolder(e.document.uri)?.uri.fsPath;
237236
const langClient = getStateMachine(projectUri!).context().langClient;
238237

239238
const confirmUpdate = await vscode.window.showInformationMessage(

0 commit comments

Comments
 (0)