Skip to content

OSD: Make custom elements UI more intuitive#2560

Open
sensei-hacker wants to merge 5 commits intoiNavFlight:maintenance-9.xfrom
sensei-hacker:feature/custom-osd-element-enable-toggle
Open

OSD: Make custom elements UI more intuitive#2560
sensei-hacker wants to merge 5 commits intoiNavFlight:maintenance-9.xfrom
sensei-hacker:feature/custom-osd-element-enable-toggle

Conversation

@sensei-hacker
Copy link
Member

@sensei-hacker sensei-hacker commented Feb 10, 2026

Old: Four mystery boxes, each a flat list of 64 combinations of sources and formats:

image image

Also with the old style you had to do the custom element in two places - setting it up on the right doesn't mean it'll appear.

New: six sources to choose from. Then separately, twelve formatting options:

image

While we're at it, instead of typing the number of an icon, 1 -256, this may be 784% better?

image

Replace the split two-panel layout (left: enable/position, right: slot
config) with self-contained collapsible cards in the left panel. Each
card has an enable toggle, preview text, and expand/collapse in the
header, with slot configuration in the card body.

Key changes:
- Split the 28-option flat type dropdown into a 7-option source select
  (None, Text, Icon static/GV/LC, Global Variable, Logic Condition)
  plus a 12-option format select shown only for GV/LC sources
- Progressive disclosure: configured cards expanded with blue border,
  first unconfigured expanded, rest collapsed
- Hidden original type selects preserve save/load compatibility with
  existing fillCustomElementsValues() and customElementGetDataForRow()
- Cards rebuild on every updateFields() call (layout switch, search)
- Right panel custom element section hidden
@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Feb 10, 2026

PR Compliance Guide 🔍

All compliance sections have been disabled in the configurations.

- Transpose table columns to stacked rows: each slot gets its own row
  with [source select] [value input] side by side
- Visibility select gets its own row at bottom
- Replace table/tr/td structure with flexbox div rows (.ce-slot-row)
- Fix card header preview: generate plain-text summary instead of using
  OSD font characters (FONT.symbol) which render as boxes in HTML
- Fix invisible inputs: add 'settings' class to card body for borders
- Update customElementsInitCallback to use card data-ce-index instead
  of closest('tr').data('row') since table structure is removed
@sensei-hacker sensei-hacker changed the title OSD: Consolidate Custom Elements into collapsible left-panel cards OSD: Make custom elements UI more intuitive Feb 10, 2026
Replace bare number input for Icon (static/GV/LC) with a clickable
preview button that opens a popup grid of all 255 OSD font characters.
User clicks a glyph tile to select it. The selected icon shows as an
inline preview image with its character number.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant