Skip to content

feat: add in-cell nullify button for values and sections#62

Merged
bosiakov merged 2 commits into
mainfrom
feat/nullify-cell-button
May 16, 2026
Merged

feat: add in-cell nullify button for values and sections#62
bosiakov merged 2 commits into
mainfrom
feat/nullify-cell-button

Conversation

@bosiakov

Copy link
Copy Markdown
Contributor

Helm overlays often need to set a key to explicit null (key: ~) so the chart's default container drops out of the rendered manifest. Until now users had to hand-edit the file. This adds a one-click affordance.

  • ui/widget/nullify_icon.go: inline tilde button rendered on row hover or when the cell is already nullified
  • ui/widget/null_pill.go: pill chip that replaces the editor when a cell is null or sits below a nullified ancestor section
  • ui/page/values_controller_actions.go: onCellNullify handler that toggles the flag, severs participating anchors and aliases, and republishes the column yaml
  • ui/state/values_state.go: NullifiedKeys map on CustomColumnState with MarkNullified, IsNullifiedDirect, IsNullifiedCovered, ClearNullified
  • ui/state/editor_state.go: collectOverrides emits flagged keys as Value=tilde, Type=null, drops every descendant of a nullified section, and sorts orphan keys for byte-stable output
  • ui/page/values_controller.go: on file load, seed NullifiedKeys from any Type=null leaves so saved overlays round-trip
  • service/values_types.go: IsNullLeaf predicate on FlatValueEntry
  • service/values_service.go: export TypeNull so the literal lives in one place across service, state, page, and widget packages
  • ui/widget/override_table.go: layoutNullifyButtonSlot keeps a stable footprint whether the button is visible, hidden, or replaced by the pill, so badge position does not shift on hover
  • ui/widget/override_table_cells.go: bool switch cell pads its returned width to the flex slot so the trailing badge and button stay pinned to the right
  • ui/widget/override_table_events.go: typing into a covered descendant clears the ancestor null flag so keystrokes are not silently dropped at save
  • ui/widget/paint_primitives.go: paintHairlineBorder consolidates the four edge rect border idiom previously open coded in null_pill, nullify_icon, extras_filter_pill, and button

@bosiakov
bosiakov merged commit ab79bb6 into main May 16, 2026
1 check passed
@bosiakov
bosiakov deleted the feat/nullify-cell-button branch May 16, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant