Open pkalita-lbl opened 7 months ago
Having existing items each to a row, and deletable via [x] looks good. Having this and the multi-select interface unified also looks good!
Another feature would be to have for the non-enum multiselects is that they too get a dropdown list of items which are compiled (say, on load) from the existing strings across all rows of that column as a way to informally provide an enumeration.
Another feature would be to have for the non-enum multiselects is that they too get a dropdown list of items which are compiled (say, on load) from the existing strings across all rows of that column as a way to informally provide an enumeration.
Yeah that makes sense.
I'm going to put this on my backlog for now. It has been talked about within NMDC but hasn't become a super high priority yet. I can give you a heads up if I start working on it.
Currently DataHarmonizer presents a custom editing modal for slots that are multivalued and the range is an enum:
Once the user finishes using the modal, the cell value becomes a
;
-delimited string of the chosen items:However, for a slot that is multivalued but the range is not an enum it is incumbent upon the user to manually produce that
;
-delimited string. There are a few drawbacks here:;
is the required delimiterHere are some quick sketches of a proposed UI for editing non-enum multivalued slots. Starting with the following:
If the user starts editing a cell in the "Multivalued string" column, they see a modal with a text input field:
Typing into the text box and clicking the "Add" button adds that item to a list displayed below the input. From that list items can also be removed. For example, if the user has added three items:
Once the user dismisses the modal, the appropriate delimited string is set as the cell value:
Separately, if we decide to adopt this, it may be worth considering updating the editing interface for multivalued cells with enum ranges to be consistent. I could imagine the same type of modal, but instead of a plain text box, it would present a dropdown with the enum options: