UI5 / UI5/webcomponents

[Feature Request]: MultiInput Tokens could be not-removable

Open
#12,290 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Design Pending feature request Medium Prio SAP SF TOPIC RL
Dominant language
TypeScript
Stars
1.8k
Forks
285
Avg merge
3d 2h
Merged PRs (30d)
59

Description

Feature Request Description

The <Token> web component passed to <MultiInput> can sometimes not be removed at all. For example, a use case came up for a "Recipients" field where the first recipient is not removable, but any of the other recipients are removable. This is different from a read only multi input where all tokens are not removable.

Proposed Solution

Have a boolean property on Token like "not-removable" or some other similarly named property that is optional and when supplied will trigger the changes:

  1. Token no longer has a clickable X (dismiss) icon
  2. Token might need to be listed first so as not to block backspace on the other items, also backspace will not delete it
  3. Token when showing in the More popover should not have an X button or it should be disabled.
Proposed Alternatives

We can get close to this by implementing the React code such that the closeIcon is an empty icon, with an onClick that stops propogation, however, this has a couple of issues for example the more popup still shows it as removable since the closeIcon doesn't get used there.

We can also filter out the non-removable items entirely and show them in a separate place somehow or make it implied (e.g. a note that says the recipients always includes the author or something else). But this requires a change to the design.

Organization

SuccessFactors

Additional Context

No response

Priority

Medium

Privacy Policy
  • I’m not disclosing any internal or sensitive information.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the Token and MultiInput component implementations and how tokens are rendered in the More popover. Define the optional non-removable behavior across the dismiss icon, backspace handling, ordering, and popover presentation. Done means one token can remain protected while other tokens remain removable, including in the proposed Recipients use case.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.