blueprint icon indicating copy to clipboard operation
blueprint copied to clipboard

[MultiSelect2 / TagInput] Deleting tags is performed in the wrong order after deleting

Open LoiKos opened this issue 2 years ago • 2 comments

Environment

  • Package version(s): @blueprintjs/core v4.5.1
  • Operating System: macOS Monterey
  • Browser name and version: Google chrome 103.0.5060.53 (Build officiel) (x86_64),

Code Sandbox

Example

Steps to reproduce

  1. Create an app using tagInput or MultiSelect
  2. Add one or multiple tags
  3. Delete all
  4. Add tags agains
  5. Delete them (should goes in the wrong order)

Actual behavior

Using keyboard Backspace, after deleting all existing tags in a tagInput, when you try to add new one, the first added take "focus" or become active, and if you have more tags after it still this tag that will be delete first. You can still use keyboard "left" and "right" to change active tag.

Here is a short video :

https://user-images.githubusercontent.com/9548473/177285272-56e1b317-1229-4603-a666-63290ead1649.mov

Expected behavior

Delete operation always start from the tag closest to the cursor by default.

LoiKos avatar Jul 05 '22 09:07 LoiKos

Delete operation always start from the tag closest to the cursor by default.

I agree with this, but at least in this situation the tag being focussed and deleted (the first one) is visually highlighted with a focus ring. So the behavior is somewhat surprising, but not entirely so. Open to PRs to fix.

adidahiya avatar Jul 07 '22 19:07 adidahiya

i'm quite busy at the moment but if i could i take a look into this issue

LoiKos avatar Jul 07 '22 21:07 LoiKos