diff --git a/__tests__/__integration__/extension.integration.test.ts b/__tests__/__integration__/extension.integration.test.ts index d3a6402501..ad6aa6ec3e 100644 --- a/__tests__/__integration__/extension.integration.test.ts +++ b/__tests__/__integration__/extension.integration.test.ts @@ -250,14 +250,11 @@ describe("Extension Integration Tests", () => { expect(testTree.mSessionNodes[1].tooltip).to.equal(pattern); expect(testTree.mSessionNodes[1].collapsibleState).to.equal(vscode.TreeItemCollapsibleState.Expanded); - const testTreeView = vscode.window.createTreeView("zowe.explorer", {treeDataProvider: testTree}); - const childrenFromTree = await sessionNode.getChildren(); childrenFromTree.unshift(...(await childrenFromTree[0].getChildren())); - await testTreeView.reveal(childrenFromTree[0]); - expect(childrenFromTree[0]).to.deep.equal(testTreeView.selection[0]); - + await testTree.getTreeView().reveal(childrenFromTree[0]); + expect(childrenFromTree[0]).to.deep.equal(testTree.getTreeView().selection[0]); }).timeout(TIMEOUT); it("should match data sets for multiple patterns", async () => { @@ -271,14 +268,12 @@ describe("Extension Integration Tests", () => { expect(testTree.mSessionNodes[1].tooltip).to.equal(search.toUpperCase()); expect(testTree.mSessionNodes[1].collapsibleState).to.equal(vscode.TreeItemCollapsibleState.Expanded); - const testTreeView = vscode.window.createTreeView("zowe.explorer", {treeDataProvider: testTree}); - const sessionChildren = await sessionNode.getChildren(); const childrenFromTree = await getAllNodes(sessionChildren); for (const child of childrenFromTree) { - await testTreeView.reveal(child); - expect(child).to.deep.equal(testTreeView.selection[0]); + await testTree.getTreeView().reveal(child); + expect(child).to.deep.equal(testTree.getTreeView().selection[0]); } }).timeout(TIMEOUT); @@ -303,8 +298,6 @@ describe("Extension Integration Tests", () => { expect(testTree.mSessionNodes[1].tooltip).to.equal(searchPattern.toUpperCase()); expect(testTree.mSessionNodes[1].collapsibleState).to.equal(vscode.TreeItemCollapsibleState.Expanded); - const testTreeView = vscode.window.createTreeView("zowe.explorer", {treeDataProvider: testTree}); - const childrenFromTree = await sessionNode.getChildren(); expect(childrenFromTree[0].children).to.deep.equal([]); @@ -920,18 +913,14 @@ describe("Extension Integration Tests - USS", () => { // Initialize uss file provider const ussFileProvider = new USSTree(); - // Create the TreeView using ussFileProvider to create tree structure - const ussTestTreeView = vscode.window.createTreeView("zowe.uss.explorer", {treeDataProvider: ussFileProvider}); - const nonFavorites = ussFileProvider.mSessionNodes.filter((node) => node.contextValue !== extension.FAVORITE_CONTEXT ); const allNodes = await getAllUSSNodes(nonFavorites); for (const node of allNodes) { // For each node, select that node in TreeView by calling reveal() - await ussTestTreeView.reveal(node); + await ussFileProvider.getTreeView().reveal(node); // Test that the node is successfully selected - expect(node).to.deep.equal(ussTestTreeView.selection[0]); + expect(node).to.deep.equal(ussFileProvider.getTreeView().selection[0]); } - ussTestTreeView.dispose(); }).timeout(TIMEOUT); }); @@ -980,25 +969,25 @@ describe("Extension Integration Tests - USS", () => { describe("Enter USS Pattern", () => { it("should output path that match the user-provided path", async () => { + const ussTestTree1 = new USSTree(); + ussTestTree1.mSessionNodes.splice(-1, 0, ussSessionNode); const inputBoxStub2 = sandbox.stub(vscode.window, "showInputBox"); inputBoxStub2.returns(fullUSSPath); const stubresolve = sandbox.stub(utils, "resolveQuickPickHelper"); stubresolve.returns(new utils.FilterItem(fullUSSPath)); - await ussTestTree.ussFilterPrompt(ussSessionNode); - - expect(ussTestTree.mSessionNodes[0].fullPath).to.equal(fullUSSPath); - expect(ussTestTree.mSessionNodes[0].tooltip).to.equal(fullUSSPath); - expect(ussTestTree.mSessionNodes[0].collapsibleState).to.equal(vscode.TreeItemCollapsibleState.Expanded); + await ussTestTree1.ussFilterPrompt(ussSessionNode); - const ussTestTreeView = vscode.window.createTreeView("zowe.uss.explorer", {treeDataProvider: ussTestTree}); + expect(ussTestTree1.mSessionNodes[0].fullPath).to.equal(fullUSSPath); + expect(ussTestTree1.mSessionNodes[0].tooltip).to.equal(fullUSSPath); + expect(ussTestTree1.mSessionNodes[0].collapsibleState).to.equal(vscode.TreeItemCollapsibleState.Expanded); const childrenFromTree = await ussSessionNode.getChildren(); childrenFromTree.unshift(...(await childrenFromTree[0].getChildren())); for (const child of childrenFromTree) { - await ussTestTreeView.reveal(child); - expect(child).to.deep.equal(ussTestTreeView.selection[0]); + await ussTestTree1.getTreeView().reveal(child); + expect(child).to.deep.equal(ussTestTree1.getTreeView().selection[0]); } }).timeout(TIMEOUT); @@ -1060,17 +1049,14 @@ describe("TreeView", () => { it("should create the TreeView", async () => { // Initialize dataset provider const datasetProvider = new DatasetTree(); - // Create the TreeView using datasetProvider to create tree structure - const testTreeView = vscode.window.createTreeView("zowe.explorer", {treeDataProvider: datasetProvider}); const allNodes = await getAllNodes(datasetProvider.mSessionNodes); for (const node of allNodes) { // For each node, select that node in TreeView by calling reveal() - await testTreeView.reveal(node); + await datasetProvider.getTreeView().reveal(node); // Test that the node is successfully selected - expect(node).to.deep.equal(testTreeView.selection[0]); + expect(node).to.deep.equal(datasetProvider.getTreeView().selection[0]); } - testTreeView.dispose(); }).timeout(TIMEOUT); }); diff --git a/__tests__/__unit__/DatasetTree.unit.test.ts b/__tests__/__unit__/DatasetTree.unit.test.ts index e2f5009231..97a8607182 100644 --- a/__tests__/__unit__/DatasetTree.unit.test.ts +++ b/__tests__/__unit__/DatasetTree.unit.test.ts @@ -45,6 +45,7 @@ describe("DatasetTree Unit Tests", () => { const filters = jest.fn(); const getFilters = jest.fn(); const createQuickPick = jest.fn(); + const createTreeView = jest.fn(); const createBasicZosmfSession = jest.fn(); const ZosmfSession = jest.fn(); Object.defineProperty(zowe, "ZosmfSession", { value: ZosmfSession }); @@ -71,11 +72,13 @@ describe("DatasetTree Unit Tests", () => { Object.defineProperty(vscode.window, "showErrorMessage", {value: showErrorMessage}); Object.defineProperty(vscode.window, "showQuickPick", {value: showQuickPick}); Object.defineProperty(vscode.window, "showInputBox", {value: showInputBox}); + Object.defineProperty(vscode.window, "createTreeView", {value: createTreeView}); Object.defineProperty(filters, "getFilters", { value: getFilters }); Object.defineProperty(vscode.window, "createQuickPick", {value: createQuickPick}); Object.defineProperty(vscode, "ProgressLocation", {value: ProgressLocation}); Object.defineProperty(vscode.window, "withProgress", {value: withProgress}); getFilters.mockReturnValue(["HLQ", "HLQ.PROD1"]); + createTreeView.mockReturnValue("testTreeView"); const getConfiguration = jest.fn(); Object.defineProperty(vscode.workspace, "getConfiguration", { value: getConfiguration }); getConfiguration.mockReturnValue({ @@ -141,6 +144,7 @@ describe("DatasetTree Unit Tests", () => { *************************************************************************************************************/ it("Testing that the dataset tree is defined", async () => { expect(testTree.mSessionNodes).toBeDefined(); + expect(testTree.getTreeView()).toEqual("testTreeView"); }); /************************************************************************************************************* diff --git a/__tests__/__unit__/USSTree.unit.test.ts b/__tests__/__unit__/USSTree.unit.test.ts index 99be7667b3..f0dc4cc838 100644 --- a/__tests__/__unit__/USSTree.unit.test.ts +++ b/__tests__/__unit__/USSTree.unit.test.ts @@ -69,6 +69,7 @@ describe("Unit Tests (Jest)", () => { const showInformationMessage = jest.fn(); const showInputBox = jest.fn(); const createQuickPick = jest.fn(); + const createTreeView = jest.fn(); const showQuickPick = jest.fn(); const filters = jest.fn(); const getFilters = jest.fn(); @@ -79,7 +80,9 @@ describe("Unit Tests (Jest)", () => { Object.defineProperty(filters, "getFilters", { value: getFilters }); Object.defineProperty(vscode, "ProgressLocation", {value: ProgressLocation}); Object.defineProperty(vscode.window, "withProgress", {value: withProgress}); + Object.defineProperty(vscode.window, "createTreeView", {value: createTreeView}); getFilters.mockReturnValue(["/u/aDir{directory}", "/u/myFile.txt{textFile}"]); + createTreeView.mockReturnValue("testTreeView"); const testTree = new USSTree(); const profileOne: IProfileLoaded = { @@ -142,6 +145,7 @@ describe("Unit Tests (Jest)", () => { *************************************************************************************************************/ it("Testing that the uss tree is defined", async () => { expect(testTree.mSessionNodes).toBeDefined(); + expect(testTree.getTreeView()).toEqual("testTreeView"); }); /************************************************************************************************************* diff --git a/__tests__/__unit__/ZoweJobNode.unit.test.ts b/__tests__/__unit__/ZoweJobNode.unit.test.ts index d76f6e4c48..c25fbe856d 100644 --- a/__tests__/__unit__/ZoweJobNode.unit.test.ts +++ b/__tests__/__unit__/ZoweJobNode.unit.test.ts @@ -26,8 +26,10 @@ describe("Zos Jobs Unit Tests", () => { const GetJobs = jest.fn(); const getConfiguration = jest.fn(); const showErrorMessage = jest.fn(); + const createTreeView = jest.fn(); Object.defineProperty(vscode.workspace, "getConfiguration", { value: getConfiguration }); Object.defineProperty(vscode.window, "showErrorMessage", {value: showErrorMessage}); + Object.defineProperty(vscode.window, "createTreeView", {value: createTreeView}); getConfiguration.mockReturnValue({ get: (setting: string) => [ "[test]: Owner:stonecc Prefix:*{server}", @@ -37,6 +39,7 @@ describe("Zos Jobs Unit Tests", () => { return {}; }) }); + createTreeView.mockReturnValue("testTreeView"); const enums = jest.fn().mockImplementation(() => { return { @@ -232,6 +235,10 @@ describe("Zos Jobs Unit Tests", () => { expect(testJobsProvider.mSessionNodes[sessions].tooltip).toEqual("fake - owner: prefix: *"); }); + it("tests that the TreeView is created successfully", async () => { + const testJobsProvider = await createJobsTree(Logger.getAppLogger()); + }); + it("tests that the user is informed when a job is deleted", async () => { showInformationMessage.mockReset(); const testJobsProvider = await createJobsTree(Logger.getAppLogger()); diff --git a/__tests__/__unit__/extension.unit.test.ts b/__tests__/__unit__/extension.unit.test.ts index 2a4fd26ce7..4b9799dc48 100644 --- a/__tests__/__unit__/extension.unit.test.ts +++ b/__tests__/__unit__/extension.unit.test.ts @@ -147,12 +147,14 @@ describe("Extension Unit Tests", () => { const mkdirSync = jest.fn(); const moveSync = jest.fn(); const getAllProfileNames = jest.fn(); - const createTreeView = jest.fn(); - const reveal = jest.fn(); + const mockReveal = jest.fn(); const createWebviewPanel = jest.fn(); + const createTreeView = jest.fn(); const pathMock = jest.fn(); const registerCommand = jest.fn(); const onDidSaveTextDocument = jest.fn(); + const onDidChangeSelection = jest.fn(); + const onDidChangeVisibility = jest.fn(); const onDidCollapseElement = jest.fn(); const onDidExpandElement = jest.fn(); const existsSync = jest.fn(); @@ -212,6 +214,7 @@ describe("Extension Unit Tests", () => { const isFile = jest.fn(); const load = jest.fn(); const GetJobs = jest.fn(); + const getTreeView = jest.fn(); const getSpoolContentById = jest.fn(); const getJclForJob = jest.fn(); const DownloadJobs = jest.fn(); @@ -265,18 +268,31 @@ describe("Extension Unit Tests", () => { }; }); const CliProfileManager = jest.fn().mockImplementation(() => { - return {getAllProfileNames, load}; + return { getAllProfileNames, load }; + }); + const TreeView = jest.fn().mockImplementation(() => { + return { + reveal: mockReveal, + onDidExpandElement, + onDidCollapseElement, + selection: [], + onDidChangeSelection, + visible: true, + onDidChangeVisibility + }; }); const DatasetTree = jest.fn().mockImplementation(() => { return { mSessionNodes: [], mFavorites: [], + treeView: new TreeView(), addSession: mockAddZoweSession, addHistory: mockAddHistory, getHistory: mockGetHistory, refresh: mockRefresh, refreshElement: mockRefreshElement, getChildren: mockGetChildren, + getTreeView, removeFavorite: mockRemoveFavorite, enterPattern: mockPattern, initializeFavorites: mockInitialize, @@ -295,6 +311,8 @@ describe("Extension Unit Tests", () => { refresh: mockUSSRefresh, addHistory: mockAddHistory, getHistory: mockGetHistory, + getTreeView, + treeView: new TreeView(), refreshElement: mockUSSRefreshElement, getChildren: mockGetUSSChildren, initializeUSSFavorites: mockInitializeUSS, @@ -307,6 +325,8 @@ describe("Extension Unit Tests", () => { getChildren: jest.fn(), addSession: jest.fn(), refresh: jest.fn(), + getTreeView, + treeView: new TreeView(), refreshElement: jest.fn(), getProfileName: jest.fn() }; @@ -325,7 +345,6 @@ describe("Extension Unit Tests", () => { testTree.mSessionNodes.push(sessNode); Object.defineProperty(testTree, "onDidExpandElement", {value: jest.fn()}); Object.defineProperty(testTree, "onDidCollapseElement", {value: jest.fn()}); - Object.defineProperty(testTree, "reveal", {value: jest.fn()}); Object.defineProperty(vscode.window, "createQuickPick", {value: createQuickPick}); const testUSSTree = USSTree(); @@ -357,7 +376,6 @@ describe("Extension Unit Tests", () => { Object.defineProperty(vscode.workspace, "onDidSaveTextDocument", {value: onDidSaveTextDocument}); Object.defineProperty(vscode.window, "onDidCollapseElement", {value: onDidCollapseElement}); Object.defineProperty(vscode.window, "onDidExpandElement", {value: onDidExpandElement}); - Object.defineProperty(vscode.window, "reveal", {value: reveal}); Object.defineProperty(vscode.workspace, "getConfiguration", {value: getConfiguration}); Object.defineProperty(vscode.workspace, "onDidChangeConfiguration", {value: onDidChangeConfiguration}); Object.defineProperty(fs, "readdirSync", {value: readdirSync}); @@ -450,7 +468,7 @@ describe("Extension Unit Tests", () => { }); it("Testing that activate correctly executes", async () => { - createTreeView.mockReturnValue(testTree); + createTreeView.mockReturnValue(new TreeView()); existsSync.mockReturnValueOnce(true); existsSync.mockReturnValueOnce(true); @@ -1194,10 +1212,12 @@ describe("Extension Unit Tests", () => { mockGetHistory.mockReset(); getConfiguration.mockReturnValue("FakeConfig"); + createTreeView.mockReturnValue(new TreeView()); showInputBox.mockReturnValue("node"); allMembers.mockReturnValue(uploadResponse); dataSetList.mockReturnValue(uploadResponse); mockGetHistory.mockReturnValue([]); + testTree.getTreeView.mockReturnValue(new TreeView()); showQuickPick.mockResolvedValueOnce("Data Set Binary"); await extension.createFile(sessNode2, testTree); @@ -1257,14 +1277,14 @@ describe("Extension Unit Tests", () => { expect(showErrorMessage.mock.calls.length).toBe(0); mockGetHistory.mockReset(); - testTree.reveal.mockReset(); + testTree.treeView.reveal.mockReset(); // Testing the addition of new node to tree view mockGetHistory.mockReturnValueOnce(["NODE1"]); showQuickPick.mockResolvedValueOnce("Data Set Sequential"); await extension.createFile(sessNode2, testTree); expect(testTree.addHistory).toHaveBeenCalledWith("NODE1,NODE.*"); - expect(testTree.reveal.mock.calls.length).toBe(1); + expect(testTree.treeView.reveal.mock.calls.length).toBe(1); testTree.addHistory.mockReset(); @@ -1327,10 +1347,12 @@ describe("Extension Unit Tests", () => { allMembers.mockReset(); getConfiguration.mockReturnValue("FakeConfig"); + createTreeView.mockReturnValue(new TreeView()); showInputBox.mockReturnValue("FakeName"); mockGetHistory.mockReturnValue(["mockHistory"]); dataSetList.mockReturnValue(uploadResponse); allMembers.mockReturnValue(uploadResponse); + testTree.getTreeView.mockReturnValue(new TreeView()); showQuickPick.mockResolvedValueOnce("Data Set Binary"); await extension.createFile(newsessNode, testTree); @@ -1411,11 +1433,13 @@ describe("Extension Unit Tests", () => { getConfiguration.mockReturnValue("FakeConfig"); showInputBox.mockReturnValue("FakeName"); + createTreeView.mockReturnValue(new TreeView()); testTree.getChildren.mockReturnValue([new ZoweDatasetNode("node", vscode.TreeItemCollapsibleState.None, sessNode, null, undefined, undefined, profileOne), sessNode]); allMembers.mockReturnValue(uploadResponse); dataSet.mockReturnValue(uploadResponse); mockGetHistory.mockReturnValue(["mockHistory1"]); + testTree.getTreeView.mockReturnValue(new TreeView()); showQuickPick.mockResolvedValueOnce("Data Set Binary"); await extension.createFile(newsessNode, testTree); @@ -1496,6 +1520,7 @@ describe("Extension Unit Tests", () => { mockGetHistory.mockReturnValueOnce(["mockHistory"]); allMembers.mockReturnValueOnce(uploadResponse); dataSetList.mockReturnValue(uploadResponse); + testTree.getTreeView.mockReturnValue(new TreeView()); showQuickPick.mockResolvedValueOnce("Data Set Binary"); await extension.createFile(newsessNode, testTree); diff --git a/package-lock.json b/package-lock.json index 1d968fb575..c882ce3af2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -869,9 +869,9 @@ } }, "arg": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.2.tgz", - "integrity": "sha512-+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, "argparse": { @@ -2956,8 +2956,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -2978,14 +2977,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3000,20 +2997,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -3130,8 +3124,7 @@ "inherits": { "version": "2.0.4", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -3143,7 +3136,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3158,7 +3150,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3166,14 +3157,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.9.0", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3192,7 +3181,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -3282,8 +3270,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -3295,7 +3282,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3381,8 +3367,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -3418,7 +3403,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3438,7 +3422,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3482,14 +3465,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, diff --git a/src/DatasetTree.ts b/src/DatasetTree.ts index 20e10ebfc7..66ca9bf157 100644 --- a/src/DatasetTree.ts +++ b/src/DatasetTree.ts @@ -51,6 +51,7 @@ export class DatasetTree extends ZoweTreeProvider implements IZoweTree; constructor() { super(DatasetTree.persistenceSchema, new ZoweDatasetNode(localize("Favorites", "Favorites"), @@ -58,6 +59,7 @@ export class DatasetTree extends ZoweTreeProvider implements IZoweTree} + */ + public getTreeView(): vscode.TreeView { + return this.treeView; + } + /** * Adds a new session to the data set tree * diff --git a/src/USSTree.ts b/src/USSTree.ts index 4cb46a5f96..794f248766 100644 --- a/src/USSTree.ts +++ b/src/USSTree.ts @@ -49,6 +49,7 @@ export class USSTree extends ZoweTreeProvider implements IZoweTree; constructor() { super(USSTree.persistenceSchema, new ZoweUSSNode(localize("Favorites", "Favorites"), @@ -56,6 +57,16 @@ export class USSTree extends ZoweTreeProvider implements IZoweTree} + */ + public getTreeView(): vscode.TreeView { + return this.treeView; } /** diff --git a/src/ZosJobsProvider.ts b/src/ZosJobsProvider.ts index a8cab04e8e..ec82a68ec8 100644 --- a/src/ZosJobsProvider.ts +++ b/src/ZosJobsProvider.ts @@ -63,6 +63,7 @@ export class ZosJobsProvider extends ZoweTreeProvider implements IZoweTree; constructor() { super(ZosJobsProvider.persistenceSchema, @@ -70,6 +71,7 @@ export class ZosJobsProvider extends ZoweTreeProvider implements IZoweTree} + */ + public getTreeView(): vscode.TreeView { + return this.treeView; + } + /** * Adds a session to the data set tree * diff --git a/src/extension.ts b/src/extension.ts index 1251975651..db194871e7 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -219,13 +219,13 @@ export async function activate(context: vscode.ExtensionContext): Promise { + theTreeView.onDidCollapseElement(async (e) => { datasetProvider.flipState(e.element, false); }); - databaseView.onDidExpandElement(async (e) => { + theTreeView.onDidExpandElement(async (e) => { datasetProvider.flipState(e.element, true); }); } @@ -258,13 +258,13 @@ export async function activate(context: vscode.ExtensionContext): Promise { ussFileProvider.onDidChangeConfiguration(e); }); - const ussView = vscode.window.createTreeView("zowe.uss.explorer", {treeDataProvider: ussFileProvider}); - context.subscriptions.push(ussView); + const theTreeView = ussFileProvider.getTreeView(); + context.subscriptions.push(theTreeView); if (!ISTHEIA) { - ussView.onDidCollapseElement(async (e) => { + theTreeView.onDidCollapseElement(async (e) => { ussFileProvider.flipState(e.element, false); }); - ussView.onDidExpandElement(async (e) => { + theTreeView.onDidExpandElement(async (e) => { ussFileProvider.flipState(e.element, true); }); } @@ -316,7 +316,7 @@ export async function activate(context: vscode.ExtensionContext): Promise { return jobNode.job.jobid === jobid; }); - jobsProvider.setItem(jobView, job); + jobsProvider.setItem(theTreeView, job); }); vscode.commands.registerCommand("zowe.jobs.search", (node) => jobsProvider.searchPrompt(node)); vscode.commands.registerCommand("zowe.issueTsoCmd", async () => MvsCommandHandler.getInstance().issueMvsCommand()); @@ -329,13 +329,13 @@ export async function activate(context: vscode.ExtensionContext): Promise jobsProvider.removeFavorite(node)); vscode.commands.registerCommand("zowe.jobs.saveSearch", async (node) => jobsProvider.saveSearch(node)); vscode.commands.registerCommand("zowe.jobs.removeSearchFavorite", async (node) => jobsProvider.removeFavorite(node)); - const jobView = vscode.window.createTreeView("zowe.jobs", { treeDataProvider: jobsProvider }); - context.subscriptions.push(jobView); + const theTreeView = jobsProvider.getTreeView(); + context.subscriptions.push(theTreeView); if (!ISTHEIA) { - jobView.onDidCollapseElement( async (e: { element: IZoweJobTreeNode; }) => { + theTreeView.onDidCollapseElement( async (e: { element: IZoweJobTreeNode; }) => { jobsProvider.flipState(e.element, false); }); - jobView.onDidExpandElement( async (e: { element: IZoweJobTreeNode; }) => { + theTreeView.onDidExpandElement( async (e: { element: IZoweJobTreeNode; }) => { jobsProvider.flipState(e.element, true); }); } @@ -868,8 +868,7 @@ export async function createFile(node: ZoweDatasetNode, datasetProvider: Dataset node.dirty = true; const newNode = await node.getChildren().then((children) => children.find((child) => child.label === name)); - const newNodeView = vscode.window.createTreeView("zowe.explorer", {treeDataProvider: datasetProvider}); - newNodeView.reveal(newNode, {select: true}); + datasetProvider.getTreeView().reveal(newNode, {select: true}); } } catch (err) { log.error(localize("createDataSet.error", "Error encountered when creating data set! ") + JSON.stringify(err));