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

Add a search function to the projects page #4136

Closed
8 tasks done
jdingeman opened this issue Mar 9, 2023 · 23 comments · Fixed by #4942
Closed
8 tasks done

Add a search function to the projects page #4136

jdingeman opened this issue Mar 9, 2023 · 23 comments · Fixed by #4942
Assignees
Labels
Complexity: Large P-Feature: Projects page https://www.hackforla.org/projects/ role: front end Tasks for front end developers size: 2pt Can be done in 7-12 hours

Comments

@jdingeman
Copy link
Member

jdingeman commented Mar 9, 2023

Overview

The projects page needs a search box so that a user can search all of the projects by keywords. This issue is to implement the final design for the search box.

Action Items

  • Add a search box at the top of the projects to reflect the design in Figma
  • Similar to a user using ctrl + f to find a word on a webpage, the user can search any word or words from the descriptions of the projects
    • The difference would be that the search function will narrow down the projects rendered on the page based on user input
  • Include functionality for boolean operators for users to refine their search
    • Only use operators AND, OR and -
Boolean Operators Meaning Example
AND Limit results Vegetarianism AND obesity(Search for content that contains both vegetarianism and obesity.)
OR One term OR another Scholarly OR academic(Search for content that contains scholarly OR academic.)
- Exclude a term from the search Bears -Chicago(Limits results to only those with bears and not the term Chicago.)
  • Make the appropriate changes to the CSS, HTML, and JS as you need to
  • The goal is to make this component reusable on multiple pages so it can be used for current and future pages
  • Once you have submitted the PR, please write up what files go into the search bar component and any other details that a person adding the same component to another page (e.g., toolkit page) will need to know. You can leave that write up here in this issue as a comment.

Resources/Instructions

@jdingeman jdingeman added role: front end Tasks for front end developers Complexity: Medium P-Feature: Projects page https://www.hackforla.org/projects/ size: 2pt Can be done in 7-12 hours ready for product labels Mar 9, 2023
@jdingeman jdingeman added this to the y. Excellent level milestone Mar 9, 2023
@jdingeman jdingeman added the Dependency An issue is blocking the completion or starting of another issue label Mar 9, 2023
@github-actions github-actions bot removed the Dependency An issue is blocking the completion or starting of another issue label Mar 9, 2023
@ExperimentsInHonesty

This comment was marked as outdated.

@ExperimentsInHonesty ExperimentsInHonesty added ready for dev lead Issues that tech leads or merge team members need to follow up on and removed ready for product labels Mar 9, 2023
@jdingeman

This comment was marked as resolved.

@jdingeman jdingeman added ready for product and removed ready for dev lead Issues that tech leads or merge team members need to follow up on labels Mar 12, 2023
@ExperimentsInHonesty ExperimentsInHonesty self-assigned this Mar 12, 2023
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

@github-actions github-actions bot added the To Update ! No update has been provided label Mar 17, 2023
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

@ExperimentsInHonesty

This comment was marked as resolved.

@ExperimentsInHonesty ExperimentsInHonesty added ready for dev lead Issues that tech leads or merge team members need to follow up on and removed 2 weeks inactive An issue that has not been updated by an assignee for two weeks labels May 23, 2023
@ExperimentsInHonesty

This comment was marked as outdated.

@Adastros

This comment was marked as outdated.

@t-will-gillis

This comment was marked as outdated.

@Adastros
Copy link
Member

Reviewed and moving back to prioritized backlog.

@Adastros Adastros removed the ready for dev lead Issues that tech leads or merge team members need to follow up on label Jun 20, 2023
@Thinking-Panda Thinking-Panda self-assigned this Jun 21, 2023
@github-actions
Copy link

Hi @Thinking-Panda, thank you for taking up this issue! Hfla appreciates you :)

Do let fellow developers know about your:-
i. Availability: (When are you available to work on the issue/answer questions other programmers might have about your issue?)
ii. ETA: (When do you expect this issue to be completed?)

You're awesome!

P.S. - You may not take up another issue until this issue gets merged (or closed). Thanks again :)

@Thinking-Panda
Copy link
Member

Availability: M-F 10 AM -3PM
ETA: July 7

@github-actions github-actions bot added the To Update ! No update has been provided label Jun 30, 2023
@github-actions
Copy link

@Thinking-Panda

Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. Pictures (optional): "Add any pictures of the visual changes made to the site so far."

If you need help, be sure to either: 1) place your issue in the developer meeting discussion column and ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel. Please note that including your questions in the issue comments- along with screenshots, if applicable- will help us to help you. Here and here are examples of well-formed questions.

You are receiving this comment because your last comment was before Tuesday, June 27, 2023 at 12:17 AM PST.

@Thinking-Panda
Copy link
Member

Progress: I have worked on the HTML and CSS part. I am working on the Js file.
Blockers: Had trouble debugging on VS Code and now I am debugging on the browser. It kind of slows me down as docker takes time to reload
Availability: M-F 2-3 hrs
ETA: 7/12
Pictures (optional):
Mobile View
TabletView
DesktopView

@Thinking-Panda Thinking-Panda added Status: Updated No blockers and update is ready for review and removed To Update ! No update has been provided labels Jul 5, 2023
@ronaldpaek
Copy link
Member

ronaldpaek commented Jul 13, 2023

The more I think about the search box I am wondering is this feature going to be used more for desktop users or mobile? I don't think mobile users will want to type that much, and if they do is it going to just be fuzzy searching? Cause it seems like the updates the UI everytime the URL value changes and it's probably parsing the data very specifically.

Is keyword search meant to be something that's suppose to be robust and have many combinations plus also work with the current checkboxes as in append to the end of it? and vice versa are they supposed to work in sync and add a checkbox and remove a checkbox if I reference it again??

I think u could have the output of the current search params display on the search by keywords bar and you can add stuff to id I think that would be feasible, but I don't know how visually appealing that would be?

CleanShot 2023-07-13 at 02 21 16@2x

@t-will-gillis @roslynwythe

@Thinking-Panda
Copy link
Member

Thinking-Panda commented Aug 29, 2023

Documentation:

  • Add the form with the search textbox and buttons to the webpage's html file.
  • Style properties for the form is coded in _sass\elements\_search-bar.scss which is already imported into main.scss
  • Changes made to the Js file include adding events related to the search bar and adding necessary functions to get the expected results.
    • 4 events added are focus and keydown events for the textbox, click events for the buttons.
    • new functions added are searchOnFocusEventHandler(), searchEnterKeyHandler(e), searchEventHandler(), searchCloseEventHandler().
    • Changes were also made to checkBoxEventHandler() to update search/filter parameters, updateCategoryCounter(), updateProjectCardDisplayState() to add search functionality with different operators, projectCardComponent() to include more data-* attribute to enable search in specified areas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: Large P-Feature: Projects page https://www.hackforla.org/projects/ role: front end Tasks for front end developers size: 2pt Can be done in 7-12 hours
Projects
Development

Successfully merging a pull request may close this issue.

9 participants