nigig-org/crates/apps/spreadsheet/spreadsheet-ui/src
andodeki 06a3de6126
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
feat(spreadsheet): dropdown cells and button cells (#9 remainder, complete)
Finish the widget-in-cell catalog with the two deferred controls, each a
plain value plus a render flag (same convention as checkbox/slider/Markdown).

- Dropdown: CellStyle.choices (a serialized, pipe-escaped list) makes a
  cell cycle through its choices on click. The toolbar "Drop" button parses
  the selected cell's value as a "Low|Med|High" list into choices (undoable
  SetChoices) and selects the first entry; a dropdown renders its value
  with a trailing ▾ affordance. dropdown.rs holds next_choice /
  parse_choice_list.
- Button: CellStyle.button makes a cell a button whose value is a
  TARGET[+N] action spec (A1 ref + optional signed step, default +1).
  Clicking increments the target cell's numeric value through set_cell
  (undoable, recalculates dependents) — the spreadsheet-native counterpart
  of the reference's "+10" boost. button.rs holds parse_button_spec /
  button_step / format_step_value; the cell renders as a raised box with
  the spec centred. Toolbar "Btn" toggles the flag.

Both flags ride in the render cache so cached cells stay styled, and both
commands route through WorkbookCommand (apply + apply_command + dirty
marking). Choices serialize after the markdown/slider/button flags; older
files default to off/empty.

Engine: 491 lib tests (+4) + integration. UI controllers: 142 tests (+8,
button 5 + dropdown 4). Coverage: engine 96.59%, ui-controllers 99.45%
(floors 96); button.rs and dropdown.rs at 100%.
2026-08-21 04:52:00 +00:00
..
bin chore(spreadsheet-ui): remove intent dispatch warning 2026-08-16 09:46:59 +00:00
button.rs feat(spreadsheet): dropdown cells and button cells (#9 remainder, complete) 2026-08-21 04:52:00 +00:00
chart.rs feat(spreadsheet-ui): TrendChart line + candlesticks wired to the selected row 2026-08-20 19:02:02 +00:00
checkbox.rs feat(spreadsheet-ui): interactive checkbox cells (widget-in-cell) 2026-08-20 18:28:46 +00:00
clipboard.rs feat(spreadsheet-ui): OS-clipboard TSV copy and toolbar zoom (#13, #7) 2026-08-20 20:14:51 +00:00
dropdown.rs feat(spreadsheet): dropdown cells and button cells (#9 remainder, complete) 2026-08-21 04:52:00 +00:00
edit.rs refactor(spreadsheet-ui): adopt edit controller state 2026-08-15 21:36:51 +00:00
event_router.rs test(spreadsheet): coverage for the UI controllers, and fix a 0% report 2026-08-17 04:05:29 +00:00
formula_bar.rs refactor(spreadsheet-ui): headless formula-bar state machine, wired to the workspace 2026-08-18 11:40:49 +00:00
geometry.rs feat(spreadsheet-ui): header sort, column reorder and row/col/all selection 2026-08-20 17:54:54 +00:00
grid.rs feat(spreadsheet): dropdown cells and button cells (#9 remainder, complete) 2026-08-21 04:52:00 +00:00
input.rs feat(spreadsheet-ui): dispatch range selection intents 2026-08-16 10:06:14 +00:00
lib.rs feat(spreadsheet): dropdown cells and button cells (#9 remainder, complete) 2026-08-21 04:52:00 +00:00
markdown.rs feat(spreadsheet): slider cells and inline-Markdown cells (#9 remainder) 2026-08-20 21:36:21 +00:00
market.rs feat(spreadsheet-ui): TrendChart line + candlesticks wired to the selected row 2026-08-20 19:02:02 +00:00
model.rs feat(spreadsheet): date and time functions, with a date display format 2026-08-18 10:00:53 +00:00
render_cache.rs feat(spreadsheet): dropdown cells and button cells (#9 remainder, complete) 2026-08-21 04:52:00 +00:00
selection.rs feat(spreadsheet-ui): header sort, column reorder and row/col/all selection 2026-08-20 17:54:54 +00:00
slider.rs feat(spreadsheet): slider cells and inline-Markdown cells (#9 remainder) 2026-08-20 21:36:21 +00:00
sort_state.rs feat(spreadsheet): 3-state header sort (asc/desc/off) with a timed report 2026-08-21 04:52:00 +00:00
sparkline.rs feat(spreadsheet): SPARKLINE(range) formula rendered as in-cell sparkline bars 2026-08-20 18:17:27 +00:00
text_measure.rs perf(spreadsheet-ui): cache visible text measurements 2026-08-02 09:10:46 +00:00
trend_chart.rs feat(spreadsheet-ui): TrendChart line + candlesticks wired to the selected row 2026-08-20 19:02:02 +00:00
ui.rs Initial commit 2026-07-26 19:38:26 +03:00
virtual_grid.rs feat(spreadsheet-ui): Big Data virtual tab — 1B cells, procedural, timed sort 2026-08-20 20:48:35 +00:00
workspace.rs feat(spreadsheet): dropdown cells and button cells (#9 remainder, complete) 2026-08-21 04:52:00 +00:00
zoom.rs feat(spreadsheet-ui): OS-clipboard TSV copy and toolbar zoom (#13, #7) 2026-08-20 20:14:51 +00:00