- Implement our new UI elements in the VE code base, and only “upstream” to OOUI.js at the end of our project. e.g. Create a OOUI checkbox with label
- Optionally wire into the layout, but with literal content, don't wire data.
- Truncate parameter names that are too long for the sidebar (maintain current behaviour).
- Not in scope: styling shouldn't be finalized here, it's going to change when we have multiple transclusions.
So far, I've found that:
- The checkbox list (general part) (specialized part) don't have much going on. The logic is in the checkbox item itself, and in the template-level container.
- The checkbox items are more exciting, and I don't think they are appropriate for generalization. For example, we have a special behavior that clicking on the label will enable but does not disable. Another is that the hover title is customized when the checkbox is disabled due to being a required parameter. An attempt at generalizing and still supporting these quirks would end up with a lot of very specific configurability or extension points, and it doesn't seem like it's worth the extra complexity. Nobody is asking to reuse the general thing we would create.
- I took the liberty of also stubbing a template-outline template widget and a multi-transclusion container, so that the next wiring steps happen through the appropriate hierarchy.
I tried the patch locally and there is something strange happening with the transclusion menu at the bottom of the sidebar. It moves along when scrolling the list. I guess we should make it stick to the bottom.
Thanks for noting this! I was rather liberally sweeping this under the "styling shouldn't be finalized here" exception, but you're right to point this out as a bug. This should be fixed before closing the task.
When a parameter is focused in the sidebar, the <space> key checks and unchecks the parameter. <up> and <down> arrow keys navigate to the previous and next focusable (non-required) sidebar items.
Update: no longer relevant, we can't reuse the widgets that provide this behavior.