Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TagPicker #26652

Closed
40 of 46 tasks
paulgildea opened this issue Feb 3, 2023 · 30 comments · Fixed by #31321
Closed
40 of 46 tasks

TagPicker #26652

paulgildea opened this issue Feb 3, 2023 · 30 comments · Fixed by #31321

Comments

@paulgildea
Copy link
Member

paulgildea commented Feb 3, 2023

💡 When you create a PR for any of the checklist items, add a link to this Epic under the PR's Related Issues section.

Preparation

Implementation

Validation

Dev TODOs

@pradeept95
Copy link

Can we have implementation of this component accelerated in V9 please. This is the one major component, and because of it we are not able to completely move to V9. We have both V8 and V9 dependencies on our projects and PeoplePicler is the one major component which is stopping us to get rid of V8 dependencies in our projects.

@briandrouin
Copy link

Design Contact: Toshie

ADO task

@gouttierre
Copy link
Contributor

📢"A meeting to align with Teams team and the designers will be scheduled. In the interim, Toshie has aligned with Ling to share implementation thoughts."

@miroslavstastny
Copy link
Member

Moving the ETA from Dec 2023 to Feb 2024. We are currently in a prototyping phase, missing design spec.
cc @gouttierre

@gouttierre
Copy link
Contributor

📢

  • "A meeting was held with the design and engineering teams, and Toshie met with the Outlook team to discuss their needs.
  • "Additionally, Toshie synced with Bret and Kay to discuss accessibility.
  • "Teams have updated the ETA from Dec 2023 to Feb 2024 as they are currently in the prototyping phase."
  • "Toshie to confirm the possible ETA for the design spec completion."
    "cc @JustSlone here is another component that has shifted, and we should let partners know the new ETA."

@briandrouin
Copy link

Ling is prototyping, Toshie is working on spec.

@gouttierre
Copy link
Contributor

📢"Ling is doing the implementation and prototyping. Toshie is moving forward with the design spec and addressing the accessibility concerns with Kay."

@gouttierre
Copy link
Contributor

📢

  • Ling is working on PeoplePicker this quarter, starting with some perf improvements to the combobox w/ changes so that more of that component can be reusable. Toshie / Emily has a design review to update ethe spec and Ling will review the changes in the spec.

@gouttierre
Copy link
Contributor

📢

  • Viva Goals is asking for the component. Toshie will connect with Rahul. Viva Goals is also looking for Trees in a Table component, i.e. like a detailed list point of view; trees in a DataGrid and pickers.

@gouttierre
Copy link
Contributor

gouttierre commented Feb 6, 2024

📢

  • Ling has made great progress on the component for preview mode this quarter and has shared a prototype [People picker prototype #30306].
  • EM's have been informed and will also assign more engineering resources to help with development due to time constraints.
  • Toshie contacted Rahul to check that the design spec and needs were satisfactory, and PM confirmed that the preview would be ready by the end of the quarter. cc @tudorpopams , @JustSlone, @ling1726

@gouttierre
Copy link
Contributor

gouttierre commented Mar 19, 2024

📢

  • PeoplePicker will be renamed to TagPicker.
  • Component is mainly missing the following:
    1). option grouping
    2). size/appearance
    3). align popover to text editor
    4). disabled state
    5). clearable (clear button).
  • Bernardo thinks it's possible to release preview without (1) and (3) by the next 2 weeks.
  • Ling mentioned that only size/appearance (2) is needed for Teams.
  • Gouttierre notified folks at Viva and updated ETA to April.

cc @tudorpopams , @JustSlone, @ling1726, @bsunderhus

@gouttierre gouttierre changed the title PeoplePicker TagPicker Mar 26, 2024
@bsunderhus
Copy link
Contributor

First preview release officially available https://www.npmjs.com/package/@fluentui/react-tag-picker-preview

@bsunderhus bsunderhus mentioned this issue Mar 28, 2024
28 tasks
@pradeept95
Copy link

Hi @bsunderhus ,
I exported example to Stackblitz and I got following error. It is same for local project as well!

✘ [ERROR] Could not resolve "../../../react-combobox/src/utils/useOptionCollection"

node_modules/@fluentui/react-tag-picker-preview/lib/utils/useComboboxBaseState.js:2:36:
  2 │ ...ion } from '../../../react-combobox/src/utils/useOptionCollection';
    ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../../../react-combobox/src/utils/useSelection"

node_modules/@fluentui/react-tag-picker-preview/lib/utils/useComboboxBaseState.js:3:29:
  3 │ ...eSelection } from '../../../react-combobox/src/utils/useSelection';
    ╵                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: Build failed with 2 errors:
node_modules/@fluentui/react-tag-picker-preview/lib/utils/useComboboxBaseState.js:2:36: ERROR: Could not resolve "../../../react-combobox/src/utils/useOptionCollection"
node_modules/@fluentui/react-tag-picker-preview/lib/utils/useComboboxBaseState.js:3:29: ERROR: Could not resolve "../../../react-combobox/src/utils/useSelection"
at failureErrorWithLog (/home/projects/iz2jvs--run/node_modules/esbuild/lib/main.js:1641:15)
at eval (/home/projects/iz2jvs--run/node_modules/esbuild/lib/main.js:1049:25)
at eval (/home/projects/iz2jvs--run/node_modules/esbuild/lib/main.js:1517:9) {
errors: [Getter/Setter],
warnings: [Getter/Setter]

Link : https://stackblitz.com/run?file=src%2Fexample.tsx

image

@bsunderhus
Copy link
Contributor

Hi @bsunderhus , I exported example to Stackblitz and I got following error. It is same for local project as well!

✘ [ERROR] Could not resolve "../../../react-combobox/src/utils/useOptionCollection"

node_modules/@fluentui/react-tag-picker-preview/lib/utils/useComboboxBaseState.js:2:36:
  2 │ ...ion } from '../../../react-combobox/src/utils/useOptionCollection';
    ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../../../react-combobox/src/utils/useSelection"

node_modules/@fluentui/react-tag-picker-preview/lib/utils/useComboboxBaseState.js:3:29:
  3 │ ...eSelection } from '../../../react-combobox/src/utils/useSelection';
    ╵                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: Build failed with 2 errors: node_modules/@fluentui/react-tag-picker-preview/lib/utils/useComboboxBaseState.js:2:36: ERROR: Could not resolve "../../../react-combobox/src/utils/useOptionCollection" node_modules/@fluentui/react-tag-picker-preview/lib/utils/useComboboxBaseState.js:3:29: ERROR: Could not resolve "../../../react-combobox/src/utils/useSelection" at failureErrorWithLog (/home/projects/iz2jvs--run/node_modules/esbuild/lib/main.js:1641:15) at eval (/home/projects/iz2jvs--run/node_modules/esbuild/lib/main.js:1049:25) at eval (/home/projects/iz2jvs--run/node_modules/esbuild/lib/main.js:1517:9) { errors: [Getter/Setter], warnings: [Getter/Setter]

Link : https://stackblitz.com/run?file=src%2Fexample.tsx

image

Thanks for the catch @pradeept95, I'll investigate it immediately!

@pradeept95
Copy link

Thank you so much it is working now!

Hi @bsunderhus ,
Quick question: I am using filtering option in TagPicker but when I type space in keyboard it select the first highlighted option, is there any way I can prevent that, Because I am using async denounced call to backend API while user typing name in the TagPickerInput field and api might have return intermediate multiple options but user still typing to filter out more which might contains space as well.

@bsunderhus
Copy link
Contributor

Thank you so much it is working now!

Hi @bsunderhus , Quick question: I am using filtering option in TagPicker but when I type space in keyboard it select the first highlighted option, is there any way I can prevent that, Because I am using async denounced call to backend API while user typing name in the TagPickerInput field and api might have return intermediate multiple options but user still typing to filter out more which might contains space as well.

This seems like the request to support freeform https://react.fluentui.dev/?path=/docs/components-combobox--default#freeform

I'll take a look into it! 💪🏼

@pradeept95
Copy link

Thank you so much!

@bsunderhus
Copy link
Contributor

bsunderhus commented Apr 5, 2024

Thank you so much!

Newest version is available with freeform support @pradeept95

@pradeept95
Copy link

Thank you so much. Indeed, solved my use case!

@pradeept95
Copy link

I have created two new issues related to this component:

  1. [Bug]: TagPicker (react-tag-picker-preview) - Keyborg instance k* is being disposed incorrectly #30984
  2. [Bug]: TagPicker (react-tag-picker-preview) - not working with Field #30978

Please let me know if you have any questions!

@bsunderhus
Copy link
Contributor

I have created two new issues related to this component:

  1. [Bug]: TagPicker (react-tag-picker-preview) - Keyborg instance k* is being disposed incorrectly #30984
  2. [Bug]: TagPicker (react-tag-picker-preview) - not working with Field #30978

Please let me know if you have any questions!

Thanks @pradeept95 , I'll follow them up. The keyborg related I believe it has nothing to do with TagPicker itself, we were having a similar issue with other Tabster related components

@pradeept95
Copy link

Awesome, Thank you so much @bsunderhus!

@gouttierre
Copy link
Contributor

gouttierre commented Apr 29, 2024

📢

  • The team has got two big tasks to complete for the stable release:
    1. A bug-bash (it's ongoing from 29th April)
    2. To compile a manual accessibility checklist. Dev is almost done, but needs some assistance in testing on all screen readers [TagPicker: Manual accessibility tests #31037]
  • Due to the renaming tasks and the upcoming bank holidays this week and next, we have to postpone the stable release by a week.
  • PM to communicate to partners about the week delay.

cc @bsunderhus , @ling1726, @tudorpopams , @JustSlone

@pradeept95
Copy link

Hi @bsunderhus I have reported this issue, but what do you think about this? It seems bug to me!

#31259

@bsunderhus
Copy link
Contributor

Hi @bsunderhus I have reported this issue, but what do you think about this? It seems bug to me!

#31259

It is not a bug @pradeept95, after some discussions and investigations from our a11y champions, we've decided to go with this behaviour. Both Space and Enter click when selecting an option will close the dropdown

@pradeept95
Copy link

It is great to see this is now in stable release. Thank you everyone for great work!
thank you @bsunderhus!

@ravindersharma
Copy link

ravindersharma commented May 17, 2024

Hi @bsunderhus ,

I recently switched from PeoplePicker to TagPicker for the Fluent UI V8 version. However, there's an issue, which is related TagPickerOption, which is dependent on the Text (String) Property only and does not allow us to add other components as children. The Persona control loaded into TagPickerOption without any issues, but the Filter function started behaving weirdly when I tried to utilize it. This is because, the filter feature works on Text instead of any other component. If we could successfully add a text property to TagPickeroption and use it for the filter, that would be ideal. Or do we have an other option for it.
I attached screenshot for both.

Here is a reference to the post that I followed to use it: #29941

image

image

@bsunderhus
Copy link
Contributor

bsunderhus commented May 20, 2024

Hi @bsunderhus ,

I recently switched from PeoplePicker to TagPicker for the Fluent UI V8 version. However, there's an issue, which is related TagPickerOption, which is dependent on the Text (String) Property only and does not allow us to add other components as children. The Persona control loaded into TagPickerOption without any issues, but the Filter function started behaving weirdly when I tried to utilize it. This is because, the filter feature works on Text instead of any other component. If we could successfully add a text property to TagPickeroption and use it for the filter, that would be ideal. Or do we have an other option for it. I attached screenshot for both.

Here is a reference to the post that I followed to use it: #29941

image

image

Hey there @ravindersharma, would you mind following up in a Feature request with an implementation detail and also some reproduction on why is this not working today?

@ravindersharma
Copy link

Hi @bsunderhus ,
I recently switched from PeoplePicker to TagPicker for the Fluent UI V8 version. However, there's an issue, which is related TagPickerOption, which is dependent on the Text (String) Property only and does not allow us to add other components as children. The Persona control loaded into TagPickerOption without any issues, but the Filter function started behaving weirdly when I tried to utilize it. This is because, the filter feature works on Text instead of any other component. If we could successfully add a text property to TagPickeroption and use it for the filter, that would be ideal. Or do we have an other option for it. I attached screenshot for both.
Here is a reference to the post that I followed to use it: #29941
image
image

Hey there @ravindersharma, would you mind following up in a Feature request with an implementation detail and also some reproduction on why is this not working today?

Hi @bsunderhus , As You have suggested, I have added it, here it is: https://github.com/microsoft/fluentui/issues/31431

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment