55 Button ,
66 Card ,
77 CardBody ,
8- CardFooter ,
98 CardHeader ,
10- CardTitle ,
119 ClipboardCopy ,
1210 ClipboardCopyButton ,
1311 CodeBlock ,
@@ -28,7 +26,6 @@ import {
2826 DescriptionListGroup ,
2927 DescriptionListTermHelpText ,
3028 DescriptionListTermHelpTextButton ,
31- Divider ,
3229 Dropdown ,
3330 DropdownItem ,
3431 DropdownList ,
@@ -38,7 +35,6 @@ import {
3835 MenuToggle ,
3936 Panel ,
4037 Popover ,
41- Tooltip ,
4238 TreeView ,
4339 type MenuToggleElement ,
4440 type TreeViewDataItem ,
@@ -52,31 +48,30 @@ export interface IArtifactResultsProps {
5248
5349export const ArtifactResults = ( { artifact } : IArtifactResultsProps ) => {
5450 const [ activeItems , setActiveItems ] = useState < TreeViewDataItem [ ] > ( ) ;
55- const [ isOpen1 , setIsOpen1 ] = useState ( false ) ;
56- const [ isOpen2 , setIsOpen2 ] = useState ( false ) ;
51+ const [ sigDropdownOpen , setSigDropdownOpen ] = useState < Record < string , boolean > > ( { } ) ;
5752 const [ expanded , setExpanded ] = useState ( [ "ex-toggle1" , "ex-toggle3" ] ) ;
5853
59- const onSelect = ( _event : MouseEvent , treeViewItem : TreeViewDataItem ) => {
60- // Ignore folders for selection
54+ const onSelectCertChain = ( _event : MouseEvent , treeViewItem : TreeViewDataItem ) => {
55+ // ignore folders for selection
6156 if ( treeViewItem && ! treeViewItem . children ) {
6257 setActiveItems ( [ treeViewItem ] ) ;
6358 }
6459 } ;
6560
66- const onToggle1 = ( ) => {
67- setIsOpen1 ( ! isOpen1 ) ;
61+ const setSigDropdownState = ( id : string , isOpen : boolean ) => {
62+ setSigDropdownOpen ( ( prev ) => ( { ... prev , [ id ] : isOpen } ) ) ;
6863 } ;
6964
70- const onSelect1 = ( ) => {
71- setIsOpen1 ( ! isOpen1 ) ;
65+ const handleOpenSigDropdown = ( id : string ) => ( isOpen : boolean ) => {
66+ setSigDropdownState ( id , isOpen ) ;
7267 } ;
7368
74- const onToggle2 = ( ) => {
75- setIsOpen2 ( ! isOpen2 ) ;
69+ const handleToggleClick = ( id : string ) => ( ) => {
70+ setSigDropdownState ( id , ! ( sigDropdownOpen [ id ] ?? false ) ) ;
7671 } ;
7772
78- const onSelect2 = ( ) => {
79- setIsOpen2 ( ! isOpen2 ) ;
73+ const handleSelect = ( id : string ) => ( ) => {
74+ setSigDropdownState ( id , false ) ;
8075 } ;
8176
8277 const toggle = ( id : string ) => {
@@ -370,19 +365,19 @@ export const ArtifactResults = ({ artifact }: IArtifactResultsProps) => {
370365 < DataListAction aria-labelledby = "ex-item1 ex-action1" id = "ex-action1" aria-label = "Actions" >
371366 < Dropdown
372367 popperProps = { { position : "right" } }
373- onSelect = { onSelect1 }
368+ onSelect = { handleSelect ( "sig-1" ) }
374369 toggle = { ( toggleRef : React . Ref < MenuToggleElement > ) => (
375370 < MenuToggle
376371 ref = { toggleRef }
377- isExpanded = { isOpen1 }
378- onClick = { onToggle1 }
372+ isExpanded = { sigDropdownOpen [ "sig-1" ] ?? false }
373+ onClick = { handleToggleClick ( "sig-1" ) }
379374 variant = "plain"
380375 aria-label = "Data list exapndable example kebaby toggle 1"
381376 icon = { < EllipsisVIcon /> }
382377 />
383378 ) }
384- isOpen = { isOpen1 }
385- onOpenChange = { ( isOpen : boolean ) => setIsOpen1 ( isOpen ) }
379+ isOpen = { sigDropdownOpen [ "sig-1" ] ?? false }
380+ onOpenChange = { handleOpenSigDropdown ( "sig-1" ) }
386381 >
387382 < DropdownList >
388383 < DropdownItem key = "link" to = "#" onClick = { ( event : MouseEvent ) => event . preventDefault ( ) } >
@@ -400,10 +395,6 @@ export const ArtifactResults = ({ artifact }: IArtifactResultsProps) => {
400395 id = "ex-expand1"
401396 isHidden = { ! expanded . includes ( "ex-toggle1" ) }
402397 >
403- { /* <p>
404- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
405- et dolore magna aliqua.
406- </p> */ }
407398 < CodeBlock actions = { codeBlockActions } >
408399 < CodeBlockCode id = "code-content" > { code } </ CodeBlockCode >
409400 </ CodeBlock >
@@ -417,7 +408,7 @@ export const ArtifactResults = ({ artifact }: IArtifactResultsProps) => {
417408 aria-label = "Certificate chain"
418409 data = { options }
419410 activeItems = { activeItems }
420- onSelect = { onSelect }
411+ onSelect = { onSelectCertChain }
421412 />
422413 </ Panel >
423414 < Panel >
@@ -456,24 +447,22 @@ export const ArtifactResults = ({ artifact }: IArtifactResultsProps) => {
456447 < DataListAction aria-labelledby = "ex-item2 ex-action2" id = "ex-action2" aria-label = "Actions" >
457448 < Dropdown
458449 popperProps = { { position : "right" } }
459- onSelect = { onSelect2 }
450+ onSelect = { handleSelect ( "sig-2" ) }
460451 toggle = { ( toggleRef : React . Ref < MenuToggleElement > ) => (
461452 < MenuToggle
462453 ref = { toggleRef }
463- isExpanded = { isOpen2 }
464- onClick = { onToggle2 }
454+ isExpanded = { sigDropdownOpen [ "sig-2" ] ?? false }
455+ onClick = { handleToggleClick ( "sig-2" ) }
465456 variant = "plain"
466457 aria-label = "Data list exapndable example kebaby toggle 2"
467458 icon = { < EllipsisVIcon /> }
468459 />
469460 ) }
470- isOpen = { isOpen2 }
471- onOpenChange = { ( isOpen : boolean ) => setIsOpen2 ( isOpen ) }
461+ isOpen = { sigDropdownOpen [ "sig-2" ] ?? false }
462+ onOpenChange = { handleOpenSigDropdown ( "sig-2" ) }
472463 >
473464 < DropdownList >
474465 < DropdownItem key = "action2" > Action</ DropdownItem >
475- { /* Prevent default onClick functionality for example
476- purposes */ }
477466 < DropdownItem key = "link2" to = "#" onClick = { ( event : MouseEvent ) => event . preventDefault ( ) } >
478467 Link
479468 </ DropdownItem >
0 commit comments