9
9
*
10
10
*/
11
11
12
- import { commands , TreeItemCollapsibleState , TreeView , window } from "vscode" ;
12
+ import { commands , ProgressLocation , TreeItemCollapsibleState , TreeView , window } from "vscode" ;
13
13
import { CICSRegionsContainer } from "../trees/CICSRegionsContainer" ;
14
14
import { CICSRegionTree } from "../trees/CICSRegionTree" ;
15
15
import { CICSTree } from "../trees/CICSTree" ;
@@ -21,7 +21,7 @@ export function getFilterPlexResources(tree: CICSTree, treeview: TreeView<any>)
21
21
"cics-extension-for-zowe.filterPlexResources" ,
22
22
async ( node ) => {
23
23
const selection = treeview . selection ;
24
- let chosenNode ;
24
+ let chosenNode : any ;
25
25
if ( node ) {
26
26
chosenNode = node ;
27
27
} else if ( selection [ selection . length - 1 ] && selection [ selection . length - 1 ] instanceof CICSRegionsContainer ) {
@@ -32,7 +32,7 @@ export function getFilterPlexResources(tree: CICSTree, treeview: TreeView<any>)
32
32
}
33
33
const plex = chosenNode . getParent ( ) ;
34
34
const plexProfile = plex . getProfile ( ) ;
35
- let resourceToFilter ;
35
+ let resourceToFilter : any ;
36
36
if ( plexProfile . profile . regionName && plexProfile . profile . cicsPlex ) {
37
37
resourceToFilter = await window . showQuickPick ( [ "Programs" , "Local Transactions" , "Local Files" ] ) ;
38
38
} else {
@@ -53,44 +53,55 @@ export function getFilterPlexResources(tree: CICSTree, treeview: TreeView<any>)
53
53
return ;
54
54
}
55
55
const pattern = await getPatternFromFilter ( resourceToFilter . slice ( 0 , - 1 ) , resourceHistory ) ;
56
+ if ( pattern ) {
57
+ if ( resourceToFilter === "Programs" ) {
58
+ await persistentStorage . addProgramSearchHistory ( pattern ) ;
59
+ } else if ( resourceToFilter === "Local Transactions" ) {
60
+ await persistentStorage . addTransactionSearchHistory ( pattern ) ;
61
+ } else if ( resourceToFilter === "Local Files" ) {
62
+ await persistentStorage . addLocalFileSearchHistory ( pattern ) ;
63
+ } else if ( resourceToFilter === "Regions" ) {
64
+ await persistentStorage . addRegionSearchHistory ( pattern ) ;
65
+ }
56
66
57
- if ( resourceToFilter === "Programs" ) {
58
- await persistentStorage . addProgramSearchHistory ( pattern ! ) ;
59
- } else if ( resourceToFilter === "Local Transactions" ) {
60
- await persistentStorage . addTransactionSearchHistory ( pattern ! ) ;
61
- } else if ( resourceToFilter === "Local Files" ) {
62
- await persistentStorage . addLocalFileSearchHistory ( pattern ! ) ;
63
- } else if ( resourceToFilter === "Regions" ) {
64
- await persistentStorage . addRegionSearchHistory ( pattern ! ) ;
65
- }
66
-
67
- chosenNode . collapsibleState = TreeItemCollapsibleState . Expanded ;
67
+ chosenNode . collapsibleState = TreeItemCollapsibleState . Expanded ;
68
68
69
- if ( resourceToFilter === "Regions" ) {
70
- chosenNode . filterRegions ( pattern ! , tree ) ;
71
- } else {
72
- for ( const region of chosenNode . children ) {
73
- if ( region instanceof CICSRegionTree ) {
74
- if ( region . getIsActive ( ) ) {
75
- let treeToFilter ;
76
- if ( resourceToFilter === "Programs" ) {
77
- treeToFilter = region . children ?. filter ( ( child : any ) => child . contextValue . includes ( "cicstreeprogram." ) ) [ 0 ] ;
78
- } else if ( resourceToFilter === "Local Transactions" ) {
79
- treeToFilter = region . children ?. filter ( ( child : any ) => child . contextValue . includes ( "cicstreetransaction." ) ) [ 0 ] ;
80
- } else if ( resourceToFilter === "Local Files" ) {
81
- treeToFilter = region . children ?. filter ( ( child : any ) => child . contextValue . includes ( "cicstreelocalfile." ) ) [ 0 ] ;
82
- }
83
- if ( treeToFilter ) {
84
- treeToFilter . setFilter ( pattern ! ) ;
85
- await treeToFilter . loadContents ( ) ;
86
- treeToFilter . collapsibleState = TreeItemCollapsibleState . Expanded ;
69
+ if ( resourceToFilter === "Regions" ) {
70
+ chosenNode . filterRegions ( pattern ! , tree ) ;
71
+ } else {
72
+ window . withProgress ( {
73
+ title : 'Loading Resources' ,
74
+ location : ProgressLocation . Notification ,
75
+ cancellable : true
76
+ } , async ( _ , token ) => {
77
+ token . onCancellationRequested ( ( ) => {
78
+ console . log ( "Cancelling the loading of resources" ) ;
79
+ } ) ;
80
+ for ( const region of chosenNode . children ) {
81
+ if ( region instanceof CICSRegionTree ) {
82
+ if ( region . getIsActive ( ) ) {
83
+ let treeToFilter ;
84
+ if ( resourceToFilter === "Programs" ) {
85
+ treeToFilter = region . children ?. filter ( ( child : any ) => child . contextValue . includes ( "cicstreeprogram." ) ) [ 0 ] ;
86
+ } else if ( resourceToFilter === "Local Transactions" ) {
87
+ treeToFilter = region . children ?. filter ( ( child : any ) => child . contextValue . includes ( "cicstreetransaction." ) ) [ 0 ] ;
88
+ } else if ( resourceToFilter === "Local Files" ) {
89
+ treeToFilter = region . children ?. filter ( ( child : any ) => child . contextValue . includes ( "cicstreelocalfile." ) ) [ 0 ] ;
90
+ }
91
+ if ( treeToFilter ) {
92
+ treeToFilter . setFilter ( pattern ! ) ;
93
+ await treeToFilter . loadContents ( ) ;
94
+ treeToFilter . collapsibleState = TreeItemCollapsibleState . Expanded ;
95
+ }
96
+ region . collapsibleState = TreeItemCollapsibleState . Expanded ;
87
97
}
88
- region . collapsibleState = TreeItemCollapsibleState . Expanded ;
89
98
}
90
99
}
100
+ tree . _onDidChangeTreeData . fire ( undefined ) ;
101
+ } ) ;
91
102
}
103
+ tree . _onDidChangeTreeData . fire ( undefined ) ;
92
104
}
93
- tree . _onDidChangeTreeData . fire ( undefined ) ;
94
- }
105
+ }
95
106
) ;
96
107
}
0 commit comments