44from typing import TYPE_CHECKING , Any
55
66from archinstall .lib .menu .menu_helper import MenuHelper
7- from archinstall .tui import Alignment , FrameProperties , MenuItem , MenuItemGroup , Orientation , ResultType , SelectMenu
7+ from archinstall .tui import Alignment , FrameProperties , MenuItem , MenuItemGroup , Orientation , PreviewStyle , ResultType , SelectMenu
88
99from .. import disk
1010from ..disk .device_model import BtrfsMountOption
1818
1919
2020def select_devices (preset : list [disk .BDevice ] | None = []) -> list [disk .BDevice ]:
21- def _preview_device_selection (selection : disk ._DeviceInfo ) -> str | None :
22- dev = disk .device_handler .get_device (selection .path )
21+ def _preview_device_selection (item : MenuItem ) -> str | None :
22+ device : disk ._DeviceInfo = item .get_value ()
23+ dev = disk .device_handler .get_device (device .path )
24+
2325 if dev and dev .partition_infos :
2426 return FormattedOutput .as_table (dev .partition_infos )
2527 return None
@@ -33,12 +35,17 @@ def _preview_device_selection(selection: disk._DeviceInfo) -> str | None:
3335
3436 group , header = MenuHelper .create_table (data = options )
3537 group .set_selected_by_value (presets )
38+ group .set_preview_for_all (_preview_device_selection )
39+
3640 result = SelectMenu (
3741 group ,
3842 header = header ,
3943 alignment = Alignment .CENTER ,
4044 search_enabled = False ,
41- multi = True
45+ multi = True ,
46+ preview_style = PreviewStyle .BOTTOM ,
47+ preview_size = 'auto' ,
48+ preview_frame = FrameProperties .max ('Partitions' )
4249 ).run ()
4350
4451 match result .type_ :
0 commit comments