@@ -6,29 +6,24 @@ import { findKv, findName } from "@/functions";
66import CompareKv from "./kvValues" ;
77
88const KeyVaultTab = ( props : any ) => {
9- const { workLoadOne, workLoadTwo, loading } = props ;
9+ const { workLoadOne, workLoadTwo, loading, activeTab } = props ;
1010 const [ keyVaults , setData ] = useState < any | null > ( [ ] ) ;
1111 const [ kvKeys , setKvKeys ] = useState < any > ( [ ] ) ;
1212 const [ kvSelected , setKvSelected ] = useState ( "" ) ;
1313 const [ selectedKey , setSelectedKey ] = useState ( [ ] ) ;
14+ const [ error , setError ] = useState ( "" ) ;
1415
1516 const getKeyVaults = async ( props : any ) => {
1617 let queryString = [
1718 props . workLoadOne ? `workload1=${ props . workLoadOne } ` : '' ,
1819 props . workLoadTwo ? `workload2=${ props . workLoadTwo } ` : ''
1920 ] . filter ( Boolean ) . join ( '&' ) ;
2021 try {
21- const response = await httpRequest . get ( `/api/keyvault?` ) ;
22- // saveDeploymentsData(response.data);
22+ const response = await httpRequest . get ( `/api/keyvault?${ queryString } ` ) ;
2323 setData ( response . data ) ;
2424 saveKvData ( response . data ) ;
25- // setDataDiff(findDifferentNamesInList(response.data as unknown as any));
26-
27- // if (response && response.data && response.data.length > 0) {
28- // props.closeLoading(false);ss
29- // }
30- } catch ( error ) {
31- console . error ( 'Error fetching deployments:' , error ) ;
25+ } catch ( error : any ) {
26+ setError ( error . message ) ;
3227 props . closeLoading ( false ) ;
3328 }
3429
@@ -46,41 +41,50 @@ const KeyVaultTab = (props: any) => {
4641
4742 useEffect ( ( ) => {
4843 getFromLc ( ) ;
49- } , [ ] ) ;
44+
45+ if ( props . loading && activeTab == "Key Vault" ) {
46+ getKeyVaults ( props ) ;
47+ }
48+ } , [ props ] ) ;
5049
5150 if ( ! keyVaults . length || ! kvKeys . length ) {
5251 return ;
5352 }
5453 return (
55- < >
56- < div >
57- < select onChange = { setKeyName } className = "p-2 text-l bg-gray-100 rounded-lg" >
58- < option value = "" > Choose Keys </ option >
59- {
60- kvKeys && kvKeys . map ( ( keys : string , index : number ) => (
61- < option value = { keys } key = { index } > { keys } </ option >
62- ) )
63- }
64- </ select >
65- < CompareKv selectedKey = { kvSelected } deployments = { keyVaults } />
66- </ div >
54+ < div >
55+ < div > { error ? error : "" } </ div >
6756 < div className = "flex flex-row p-2 gap-8" >
57+
6858 {
6959 keyVaults . map ( ( deployment : any , index : number ) => (
7060 < div key = { index } className = "flex flex-col gap-2" >
7161
7262 < h3 className = "font-bold flex-row text-l p-2" >
73- { `${ index + 1 } .` } < span className = "text-blue-500" > { index == 0 ? findKv ( workLoadOne || workLoadTwo ) : findKv ( workLoadTwo ) } </ span > < small className = "text-sm" > ({ index == 0 ? workLoadOne || workLoadTwo : workLoadTwo } )</ small >
63+ { `${ index + 1 } .` } < span className = "text-blue-500" > { index == 0 ? findName ( workLoadOne || workLoadTwo ) : findName ( workLoadTwo ) } </ span > < small className = "text-sm" > ({ index == 0 ? findKv ( workLoadOne ) || findKv ( workLoadTwo ) : findKv ( workLoadTwo ) } )</ small >
7464 < small className = "text-xs font-light text-green-500" > { loading ? "Loading..." : "" } </ small >
7565 </ h3 >
66+ {
67+ index == 0 ?
68+ < div >
69+ < select onChange = { setKeyName } className = "p-2 text-l bg-gray-100 rounded-lg" >
70+ < option value = "" > Choose Keys </ option >
71+ {
72+ kvKeys && kvKeys . map ( ( keys : string , index : number ) => (
73+ < option value = { keys } key = { index } > { keys } </ option >
74+ ) )
75+ }
76+ </ select >
77+ < CompareKv selectedKey = { kvSelected } deployments = { keyVaults } />
78+ </ div > : < > </ >
79+ }
7680 < div className = "flex flex-col gap-2" >
7781 < KeyVaultsDetail deployments = { deployment } title = "Keys" />
7882 </ div >
7983 </ div >
8084 ) )
8185 }
8286 </ div >
83- </ >
87+ </ div >
8488
8589 )
8690}
0 commit comments