Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-09-12 | (breaking, very) Fix how text inputs bubble events | Florrie | |
This is extremely super duper very breaking in that it reverses the order that keyboard events are bubbled. This fixes an issue in the following situation: You have a focus element which captures keyboard input. When the X key is pressed, a text input, which is a child (directly or indirectly) of it, is selected and has its value emptied. As the user types into that text input, if they press the X key, the handler on the focus element will detect this, and clear and select the text input - interrupting the user's typing. The situation is fixed in this commit by making the text input avoid bubbling events when text is entered. I'm not sure this is 100% complete, because arrow key events and the like are still bubbled, but those aren't difficult to change later. The breaking fundamental change here is that keyboard events are now bubbled from the top element down. Before, a parent element could deny child elements from responding to the event; now the child can deny the parent. | |||
2018-08-15 | Save oldSelectedElement before calling Dialog.opened | Florrie | |
The main purpose of Dialog.opened is to select an input in any case (e.g. opened() { this.root.select(this.input) }) so it makes more sense to save whichever element was selected before calling that. | |||
2018-08-15 | Save/restore selection on Dialog open/close | Florrie | |
2018-08-05 | (perf) Cache scrollItemsLength | Florrie | |
2018-08-05 | (perf) Make sizeProp not a getter | Florrie | |
2018-07-25 | New fitToParent function | Florrie | |
2018-07-25 | Fix ListScrollForm.firstInput not having an effect immediately | Florrie | |
2018-07-05 | addChild(child, afterIndex) | Florrie | |
2018-07-05 | ListScrollForm - fixLayout before checking dimensions | Florrie | |
2018-07-04 | An assortment of changes to how selected/unselected works | Florrie | |
2018-07-04 | Remove FocusElement.isFocused, add isSelected | Florrie | |
FocusElement.isSelected behaves a little bit differently - basically it's true if the current selected element is that element, OR any of the ancestors of the current selected element is that element. It's also a getter, so you can't directly override it (assigning to el.isSelected won't work). | |||
2018-07-03 | Handy functions on Dialog | Florrie | |
2018-06-29 | Remove unused iac dependency | Florrie | |
Also removed yarn.lock since I don't use yarn for this anymore. | |||
2018-06-12 | Add WrapLabel UI element | Florrie | |
2018-06-12 | Be a little careful in Form.updateSelectedElement | Florrie | |
2018-06-07 | Scroll bar for ListScrollForm | Florrie | |
2018-06-07 | Remove page up/down controls from ListScrollForm | Florrie | |
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-04 | Form.selectInput function | Florrie | |
2018-06-04 | isCharacter telchar util function | Florrie | |
2018-06-04 | ListScrollForm.scrollToBeginning function | Florrie | |
2018-06-04 | ListScrollForm.scrollToEnd function | Florrie | |
2018-06-04 | ListScrollForm - don't bubble key presses | Florrie | |
E.g. if up is pressed in a ListScrollForm, don't tell the parent element that up was pressed. | |||
2018-06-03 | Page up/down controls in ListScrollForm | Florrie | |
2018-06-03 | isPageUp / isPageDown functions, simpler combo detection code | Florrie | |
2018-06-02 | CommandLineInterfacer/Flushable resize support | Florrie | |
2018-06-01 | Add scrollSelectedElementIntoView function | Florrie | |
2018-05-31 | fillParent util | Florrie | |
2018-05-31 | Let-const nitpicks | Florrie | |
2018-05-30 | Un-selectable inputs | Florrie | |
2018-05-30 | Add isCaselessLetter util function | Florrie | |
2018-05-30 | Better ANSI-interpret debug messages | Florrie | |
* Show the number of KB saved * Make the percent-saved a little more precise * Don't update the debug message if absolutely nothing changed on the screen (although, it's still saving however much data it would have taken to render the entire screen!!) * Just draw a bar across the whole screen, instead of a few extra " " characters - technically this adds a whole bunch of data itself but it's assumed that you aren't on limited data if you're debugging how much data the interpreter saves | |||
2018-05-30 | Shading characters, for fun | Florrie | |
2018-01-19 | Pass false to firstInput to not select the form if it wasn't already selected | Florrie | |
2018-01-18 | Rename to tui-lib :shrug: | Florrie | |
2018-01-18 | Add license and readme | Florrie | |
2018-01-18 | Add package.json and index.js | Florrie | |
2017-12-10 | Show/hide cursor in ANSI interpreter | Florrie | |
2017-12-10 | Clean up old state code in ANSI interpreter | Florrie | |
2017-12-10 | Set the ANSI compressor on OVERLOAD (underload?) | Florrie | |
2017-12-10 | Interpret 'off' SGR commands in ANSI interpreter | Florrie | |
2017-12-10 | Add compression statistic monitor to Flushable | Florrie | |
2017-12-09 | Make ansi interpreter work with selective control sequences | Florrie | |
2017-12-09 | Add setValue and moveToEnd methods to TextInput | Florrie | |
2017-12-09 | Add Dialog.js file, apparently | Florrie | |
2017-12-09 | Make firstInput reset scrollItems in ListScrollForm | Florrie | |
2017-12-09 | Add removeInput method and captureTab property to Form | Florrie | |
2017-12-09 | Hide items which are scrolled past in ListScrollForm | Florrie | |
2017-12-08 | Make isEnter work with normal terminals | Florrie | |
2017-12-08 | Add backspace and shift-arrows to telchars | Florrie | |
2017-12-08 | Add arrows to unichars | Florrie | |