tighten / takeout

Docker-based development-only dependency manager. macOS, Linux, and WSL2-only and installs via PHP's Composer... for now.
MIT License
1.6k stars 83 forks source link

Menu too tall for some screens #282

Open mattstauffer opened 2 years ago

mattstauffer commented 2 years ago
image

Let's look into whether the tool we're using to generate these has multi page options?

tonysm commented 2 years ago

@mattstauffer I've looked into the Laravel Console Menu package (source) and the underlying cli-menu package from php-school (source) and looks like there's no option for pagination/scrolling.

We could, technically, limit the number of items displayed in the menu and add an extra "Show More" option or "Next" that would re-render the menu with more options (then showing "Prev" and "Next" options on subsequent pages). Basically implementing pagination manually on top of this menu package.

I personally find this kind of menu a bit limiting (it makes testing more complicated and I'm not very fond of the looks of it), wouldn't reimplementing this in a regular "choices" menu be a better solution? We could even have interactive autocompletion, like:

https://user-images.githubusercontent.com/1178621/164785821-2fd85e61-cadc-4d05-b540-0da7063bf6b1.mp4

chrisdicarlo commented 2 years ago

@mattstauffer I've looked into the Laravel Console Menu package (source) and the underlying cli-menu package from php-school (source) and looks like there's no option for pagination/scrolling.

We could, technically, limit the number of items displayed in the menu and add an extra "Show More" option or "Next" that would re-render the menu with more options (then showing "Prev" and "Next" options on subsequent pages). Basically implementing pagination manually on top of this menu package.

I personally find this kind of menu a bit limiting (it makes testing more complicated and I'm not very fond of the looks of it), wouldn't reimplementing this in a regular "choices" menu be a better solution? We could even have interactive autocompletion, like:

Screen.Recording.2022-04-22.at.17.00.28.mp4

I like that option!

khanalpride commented 1 year ago

I have implemented this feature as below:

We can divide the service types and containers for each types into two display like this?

takeout-menu1

After "Database" is selected in the first menu? It shows like this:

takeout-menu2

The second menu could have back as well, which just shows the first menu (reset)? [Not implemented still]

Let me know if that's good?

khanalpride commented 1 year ago

I have implemented this feature as below:

We can divide the service types and containers for each types into two display like this?

takeout-menu1

After "Database" is selected in the first menu? It shows like this: takeout-menu2

The second menu could have back as well, which just shows the first menu (reset)? [Not implemented still]

Let me know if that's good?

Anyone came anywhere nearby this? @mattstauffer

chrisdicarlo commented 1 year ago

I have implemented this feature as below:

We can divide the service types and containers for each types into two display like this?

takeout-menu1

After "Database" is selected in the first menu? It shows like this: takeout-menu2

The second menu could have back as well, which just shows the first menu (reset)? [Not implemented still]

Let me know if that's good?

I like this setup; keeps the list nice and compact.