« get me outta code hell

tui-lib - Pure Node.js library for making visual command-line programs (ala vim, ncdu)
about summary refs log tree commit diff
path: root/ui/form/ListScrollForm.js
AgeCommit message (Collapse)Author
2023-05-13use ESM module syntax & minor cleanups(quasar) nebula
The biggest change here is moving various element classes under more scope-specific directories, which helps to avoid circular dependencies and is just cleaner to navigate and expand in the future. Otherwise this is a largely uncritical port to ESM module syntax! There are probably a number of changes and other cleanups that remain much needed. Whenever I make changes to tui-lib it's hard to believe it's already been <INSERT COUNTING NUMBER HERE> years since the previous time. First commits are from January 2017, and the code originates a month earlier in KAaRMNoD!
2019-10-14Don't crash when getting scrollSizeFlorrie
2019-07-18Don't explode when no element is selected!Florrie
2019-05-12Automatically show/hide ListScrollForm scrollbarFlorrie
...depending on whether there is enough content that it cannot all be displayed in the form's space or not.
2019-05-12Adjust the way the scrollbar handle is drawnFlorrie
Specifically, it now clearly represents how much of the scrollable form is visible and not visible at the moment. It also will never touch the top or bottom if it's possible to scroll further in the correspodning direction.
2019-04-02Avoid crashing when scrolled past end of formFlorrie
Usually this doesn't happen, but it may occur if the items of the ListScrollForm are regenerated (to a lesser length) before updating scrollItems.
2018-12-15Optimize the h*ck out of ListScrollFormFlorrie
2018-12-15Optimize getScrollPositionOfElementAtEndOfViewFlorrie
This actually drastically improves the performance of mtui when opening very, very large playlists.
2018-12-08Mouse supportFlorrie
Not exactly the most elegant implementation, but it definitely works and isn't really difficult to code around!
2018-08-05(perf) Cache scrollItemsLengthFlorrie
2018-08-05(perf) Make sizeProp not a getterFlorrie
2018-07-25Fix ListScrollForm.firstInput not having an effect immediatelyFlorrie
2018-07-05ListScrollForm - fixLayout before checking dimensionsFlorrie
2018-06-07Scroll bar for ListScrollFormFlorrie
2018-06-07Remove page up/down controls from ListScrollFormFlorrie
These are unfortunately based on the assumption that every input is exactly one character tall, and definitely don't work with horizontal scrollers, so I had to remove them.
2018-06-04ListScrollForm.scrollToBeginning functionFlorrie
2018-06-04ListScrollForm.scrollToEnd functionFlorrie
2018-06-04ListScrollForm - don't bubble key pressesFlorrie
E.g. if up is pressed in a ListScrollForm, don't tell the parent element that up was pressed.
2018-06-03Page up/down controls in ListScrollFormFlorrie
2018-06-01Add scrollSelectedElementIntoView functionFlorrie
2018-01-19Pass false to firstInput to not select the form if it wasn't already selectedFlorrie
2017-12-09Make firstInput reset scrollItems in ListScrollFormFlorrie
2017-12-09Hide items which are scrolled past in ListScrollFormFlorrie
2017-07-03Buttons and listsliam4
- Button class name changed to Button, from ButtonInput - Button layouts are now updated with fixLayout, rather than automatically when the text property is changed - Buttons now have a height of 1, so they can generally actually be used in layouts - New example for list form elements - List form elements let you navigate with up/down (or left/right, for horizontal lists) - List forms now have nextInput and previousInput methods
2017-01-07Initial commitLiam