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

Need new form component for Skill suggestions #3077

Closed
vikasrohit opened this issue May 31, 2019 · 14 comments
Closed

Need new form component for Skill suggestions #3077

vikasrohit opened this issue May 31, 2019 · 14 comments
Assignees

Comments

@vikasrohit
Copy link

vikasrohit commented May 31, 2019

New component needed for letting user select skills for their needs from the available skills.

fyi @maxceem

Detailed issue appirio-tech/react-components#319

@vikasrohit vikasrohit added this to the Connect 2.4.13 milestone May 31, 2019
@maxceem
Copy link
Collaborator

maxceem commented May 31, 2019

@vikasrohit

I understand that multiple checkboxes don't work for this as there would be too many skills. So this should be some kind of a multi-select list.
The simplest way I guess would be to reuse react-select https://react-select.com/home.

But I'm not sure it's comfortable enough.

@vikasrohit
Copy link
Author

Thanks @maxceem for the inputs. We need to show checkboxes only for few frequently used skills and for rest of the skills, just use the same auto suggest textbox, used to add skills to your profile, that we are using on the member profile page in community app.

@maxceem
Copy link
Collaborator

maxceem commented Jun 5, 2019

We need to show checkboxes only for few frequently used skills and for rest of the skills, just use the same auto suggest textbox

@vikasrohit you mean we should combine two ways of selecting skills in one component?

Or it would be two types of questions? In one question we would let the user to choose some frequently used skills using checkboxes (this we already can do). And we would like to add the second type of questions where we can choose more skills using a suggesting textbox.

@vikasrohit
Copy link
Author

you mean we should combine two ways of selecting skills in one component?

Correct. One component would have both, checkboxes(for selecting frequently used skills) and textbox (auto suggest skills as user types). Further, I can anticipate that frequently used skills can be dynamic as well, I mean they can be determined at run time by answers to the previous questions e.g. if we have question to select the track (design/dev/qa etc) before this new component, we can use that information to pull in frequently used skills for the specific track only.

@maxceem
Copy link
Collaborator

maxceem commented Jun 5, 2019

@vikasrohit thanks, kind of got it :-). Will, we hardcode the list of skills inside templates? Or should we use some backend for this?

@vikasrohit
Copy link
Author

I think we can keep them in template for now and lets see how the requirements shape up later. We need to keep skills by categories in the template. Even if we are not required to show the frequent skills by category, we can still aggregate all the category specific frequent skills to render the final list. Most probably, we have to show skills only specific to a category/track.

For the auto suggest skills textbox, we need to provide ability to filter the skills based on their categories (which will come from a previous question in the form).

@maxceem
Copy link
Collaborator

maxceem commented Jun 5, 2019

Thanks, @vikasrohit, here is a summary for this task. Let me know if there anything you would like to adjust:

  1. We hardcode skills in the template for now

  2. When we show suggested or frequent skills, we show only the skills which match the previously chosen delivery types.

  3. Each skill can belong to only one delivery type. Or multiple?

  4. We show all the skills in one list without grouping skills by delivery.

  5. Here is a draft design:

    • No additional skills are selected, only frequent:
      image

    • Selecting additional skills:
      image

    • Additional skills are selected:
      image

  6. No matter where we choose skills with checkboxes or select, we put them into one array when sending to the server.

  7. When we show skills question inside accordion it lists all the frequent and additional skills in one plain comma-separated list together:
    image

@vikasrohit
Copy link
Author

vikasrohit commented Jun 5, 2019 via email

@vikasrohit
Copy link
Author

@maxceem are we making API call to fetch the suggestions for the new component when user starts typing in the search box? I am unable to search skills in dev env.

@vikasrohit
Copy link
Author

And how difficult is to move this new component to the react-components repo?

@maxceem
Copy link
Collaborator

maxceem commented Jun 11, 2019

@maxceem are we making API call to fetch the suggestions for the new component when user starts typing in the search box? I am unable to search skills in dev env.

Skills are hardcoded inside the template. So there are no API requests. It works for me on DEV https://monosnap.com/file/umQFNq92dJiHC7AL2AAr0RHdUUe9lT

Do you use my template subtitle? Have you chosen any deliverables?

@maxceem
Copy link
Collaborator

maxceem commented Jun 11, 2019

And how difficult is to move this new component to the react-components repo?

Not that difficult.
Though it depends on the Select component inside Connect which, actually is a good candidate to be moved to react-components repo.
It also has some other connections to the Connect to detect which deliverables are selected, but I guess it could be refactored the way we provide only the necessary data through the props.

@vikasrohit
Copy link
Author

I think we should be calling API which I mentioned in appirio-tech/react-components#319 to search for the skills via the search box. May be we can cache the skills in redux and pass them to the the component, if we don't want to make a search API call on every type of character as the number of skills is always going to be finite (e.g. few hundreds 100-500)

@vikasrohit
Copy link
Author

Closing the issue as component is working fine as per current requirements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants