Page MenuHomePhabricator

Per-column settings dropdown in table column headers (!19)
Closed, ResolvedPublic

Description

Column-level settings are currently spread across two places: the column header (sort on click, double-click fit-to-content, drag to resize, asterisk indicates required) and the central Columns modal (set default value, toggle required, manage visibility/order). The Columns modal becomes unwieldy with many columns enabled. Add a small chevron/dropdown to each column header so the most common per-column actions are reachable inline.

Chevron placement: right side of the header, just left of the width-resize grip.

Existing header behavior (keep unchanged):

  • Click → sort.
  • Double-click → fit width to content.
  • Drag right edge → resize.
  • Asterisk indicates required.

Description column header label: append the current language code (e.g. Description EN) so users can see which language the column currently represents.

Per-column dropdown contents (initial set — more will be added later):

  • Set default value for this column (mirrors the Columns modal).
  • Toggle required for this column (same effect as the asterisk).
  • For the Description column only: "Add language" — present as a greyed-out / disabled item for now (placeholder). The actual implementation of multi-language descriptions is tracked separately and will enable this entry.

Out of scope:

  • Renaming columns (names are bound to underlying fields).
  • Replacing the central Columns modal — it stays for visibility / order management; the per-column dropdown is a faster path for the actions that already live there.
  • The multi-language description data model itself (separate task — feedback item 7).

Acceptance:

  • Each column header shows a chevron/dropdown to the left of the resize grip.
  • Opening it shows: "Set default…", "Toggle required" (with current state).
  • On the Description column, the header label reads Description <LANG> and the dropdown additionally shows a disabled "Add language" entry.
  • Settings made via the dropdown produce the same persisted state as the Columns modal.

Source: User feedback session, 2026-05-09.

Event Timeline

Daanvr triaged this task as Medium priority.
Daanvr moved this task from To do to Doing on the Tool-upload-workbench board.

Delete group creates a anxiety for the user because it's unclear if it create it deletes also the content of the group, should but only uh Um it should be clear to the user that only the group is removed and files will be remained. Don't add this in text to this in the user interface. Design to explain this. Um or on a tooltip on hover. Maybe by renaming the text this can be clarified but don't add like a sentence to explain in the user interface default without hover or something.

Just to be sure and to check every file can only be in one group So selecting files from a certain group to make a new group will create a new group Like a fresh group where the selected files are in and they are removed from the previous group

Also, I would like to be able to click on the group name, which is now by default group 1, group 2, group 3, and rename them, the group. Actually, so the default name is just group and the number, but if you rename them they will keep the order in the groups like a the the the specific number of of the group but they will have a label to allow the user to identify them easier Group numbering should be based on when they are created and not based on their order because now it's if I Move group two and drag and drop it to group one. It will change their names. This is unexpected behavior. Unclear for the user

The delete group button should actually say ungroup.

So actually when selecting a few items or a few files in a group, you can group selection next to publish and discard, but there should also be ungroup selection. and uh the button delete group should actually be called ungroup all

Daanvr renamed this task from Per-column settings dropdown in table column headers to Per-column settings dropdown in table column headers (!19).May 11 2026, 2:12 PM

@Daanvr Picked this up from Doing for iteration but I can't find feedback specific to this MR (per-column header dropdown).

The only new comment on T425864 (2026-05-11 13:21) is the same text you posted to T425839 (groups MR !20) at 13:16 — it talks about "Delete group", "Group 1, 2, 3", "ungroup", group renaming. That's clearly feedback for the groups feature (T425839 / MR !20), not for the per-column dropdown work in this MR. The MR notes on !19 itself are empty too.

What I checked:

  • phabfive show --show-comments T425864 (the only 2026-05-11 comment is the misfiled groups text)
  • phabfive show --show-comments T425839 (same comment exists there too, dated 5 min earlier)
  • glab api .../merge_requests/19/notes (empty)

What I need before continuing:

  1. Was there feedback for the per-column dropdown that didn't make it onto the task / MR? If so, please paste it here.
  2. Or: was the move back to Doing itself the intent (i.e. "there's something to redo here") and I should look for the issue myself? If so, what should I look at — the chevron placement, the Description-EN label, the menu copy, the resize-handle interaction, something else?
  3. Or: was the move-to-Doing accidental and the MR can go back to Reviewing as-is?

Parking on this until I hear back. Won't touch the branch in the meantime.

Well, that's a nice catch. Um this was indeed the wrong one. I must have made an error. Um a mistake I mean, but um here is uh the feedback I wanted to give is that uh uh it looks all pretty good. Uh the thing that I want to change is um when you apply a f uh default value. Um it says apply to blank cells, this button, but I would like the most right part of this button to be like a drop-down thing where you can also select apply to all selected And well actually overwrite selected and overwrite all.

uh to mirror the options in the columns model. Um and just to be clear, there's only one button. Uh but rights the the uh most right part is like a drop down thing where more buttons appear basically in a drop down. Uh so by default this applied to blanks but you get more advanced options. Uh this is to keep space

Also add a button to the list of options you can do with clear all values From that column This needs a small confirmation so there will be a second button appearing to say confirm just below it. Actually you have to click twice on the same button. So the button will you first click on clear all values. And then the button will turn red and say confirm

Daanvr moved this task from Done to Needs input on the Tool-upload-workbench board.
Daanvr moved this task from Needs input to Doing on the Tool-upload-workbench board.

Iterated per the 2026-05-11 15:20 feedback:

  1. The default-value editor's footer is now a split-button. Primary action stays "Apply to blank cells" (matches the columns-modal default and is the safest scope). The caret opens a small menu with the three other columns-modal scopes — "Apply to all selected" (fills blanks within the current selection), "Overwrite selected", "Overwrite all" (gated by a window.confirm because it can't be undone). The four routes share one apply/overwrite/has-value helper at the call site so the per-cell write semantics live in one place and the wiring matches what the columns modal does today.
  1. New "Clear all values" menu item below "Toggle required". Two-step confirm pattern as requested: first click flips the row into the destructive style and re-labels it "Confirm — wipe every row"; second click commits. The state is local to the popover, and opening the default editor or toggling required de-arms the warning so it never lingers in the background.

Also rebased the branch on top of v0.8.0 (resolved a small conflict in the HeaderMenuPopover signature against the new selfUsername prop from T425874 / 0.8.0, plus the routine package-lock / CHANGELOG conflicts).

Preview updated: https://upload-workbench.toolforge.org/mr-19/

Released as v0.13.0 (MR !19 merged into main).