Releases
3.0.0
[3.0.0]
Changed
Optimise redrawing to reduce flickering (#83 )
Use parent menu terminal when creating sub menus to reduce object graph (#94 )
Do not print right margin. Causes menu to wrap even when row fits in terminal (#116 )
CliMenu throws a \RuntimeException if it is opened with no items added (#146 , #130 )
Sub Menus are configured via closures (#155 )
Remove restriction of 1 character length for markers (#141 )
Remove the mandatory space after markers for now they can be of any length (#154 )
Added
Added type hints everywhere (#79 )
Added phpstan to the travis build (#79 )
Input dialogue system for prompting users. Comes with text, number and password inputs (#81 )
Added ability to pass already prepared CliMenuBuilder instance to CliMenuBuilder#addSubMenuFromBuilder (#85 , 155)
Added CliMenu#addItems & CliMenu#setItems to add multiple items and replace them (#86 )
Added custom control mapping - link any key to a callable to immediately execute it (#87 )
Added MenuMenuItem#getSubMenu (#92 )
Added alternate text to AsciiArtItem to display if the ascii art is too large for the current terminal (#93 )
Added the ability to pass existing MenuStyle instance to dialogues and inputs for consistent themes and reduced object graph (#99 )
Added CSS like borders (#100 )
Added option to auto center menu with CliMenuBuilder#setMarginAuto (#103 )
Added option to auto center menu with CliMenuBuilder#setMarginAuto (#103 )
Added support for 256 colours with automatic and manual fallback to 8 colours (#104 )
Added clear option to CliMenu#redraw useful for when reducing the terminal width (#117 )
Added ability to set top/bottom and left/right padding independently (#121 )
Added a new Split Item item type which allows displaying multiple items on one line (#127 )
Added setText methods to various items so they can be modified at runtime (#153 )
Added MenuStyle#hasChangedFromDefaults to check if a MenuStyle has been modified (#149 )
Added CliMenu#setTitle and CliMenu#setStyle (#155 )
Added CliMenuBuilder#getStyle to get the current style object for the menu
Fixed
Fixed sub menu go back button freezing menu (#88 )
Fixed centering ascii art items with trailing white space (#102 )
Enable cursor when exiting menu (#110 )
Fixed (#71 ) - changed padding calculation when row too long to stop php notices (#112 )
Fixed wordwrap helper (#134 )
Fixed selected item issues when adding/setting/removing items (#156 )
Fix infinite loop when no selectable items in menu (#159 , #144 )
Removed
Dropped PHP 5.x and PHP 7.0 support (#79 )
Removed the Terminal namespace which has been migrated to php-school/terminal (#81 )
Removed MenuStyle::getDefaultStyleValues (#149 )
Removed CliMenuBuilder#setTerminal (#149 )
Removed CliMenuBuilder#getSubMenu (#155 )
Removed CliMenuBuilder#getMenuStyle (#155 )
Removed CliMenuBuilder#end (#155 )
You can’t perform that action at this time.