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

Inline editing of position and query #3308

Closed
nijel opened this issue Dec 16, 2019 · 12 comments
Closed

Inline editing of position and query #3308

nijel opened this issue Dec 16, 2019 · 12 comments
Assignees
Labels
Area: UX Issues related to user experience. enhancement Adding or requesting a new feature.
Milestone

Comments

@nijel
Copy link
Member

nijel commented Dec 16, 2019

Is your feature request related to a problem? Please describe.
With improved search based on query string instead of big forms, it seems better to allow editing the query string and position inline instead of poping up a dialog.

Describe the solution you'd like
Click on search term or position and input box appears in the position, enter submits it, escape cancels the edit.

Describe alternatives you've considered
At least proper popup placement would be great.

Additional context
pozice


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@nijel nijel added enhancement Adding or requesting a new feature. Area: UX Issues related to user experience. labels Dec 16, 2019
@nijel
Copy link
Member Author

nijel commented Mar 30, 2020

@SaptakS wrote on #3645:

For making it inline editing, I think we need to make some design decisions. For example after clicking on the query field, do we show the applied filter (such as all queries) also or just replace that part by an input field? If we show the filter, I guess it needs to expand horizontally. Similarly for position, do we show an input field for the page number while still showing the total (I would prefer this)? or just an input box, with a max and min limit.

I also think it will advantageous to move to bootstrap 4 because that gives us the scope to use flexbox directly. Flexbox really helps in designing grid-based UI.

@nijel
Copy link
Member Author

nijel commented Mar 30, 2020

Switching to Bootstrap 4 is certainly an option, there were some issues with RTL support last time I looked, see #2916.

For the search field, I'd really like to make it more flexible to allow building more complex queries easily. I've mentioned some examples (GitLab and Sentry) in #3063 (comment) and #3063 (comment)

@SaptakS
Copy link
Contributor

SaptakS commented Mar 30, 2020

@nijel Great! In that case, won't it make more sense to separate the search field from the pagination group of buttons on the right sounds? And we can just keep the tab in pagination to switch between different filters of All queries and Queries needing attention, etc. I think UX wise that makes more sense since that tab doesn't really hint on opening an input query box. And I did look into #3063 and I feel a separate search field would be more flexible and give more options.

@nijel
Copy link
Member Author

nijel commented Mar 30, 2020

Yes that makes sense. UX wise still many of parts are results of myself not being comfortable in CSS and JS to do it way it would look best, so it ended up using default components present in bootstrap.

@nijel
Copy link
Member Author

nijel commented Apr 16, 2020

See also #3742

@SaptakS
Copy link
Contributor

SaptakS commented Apr 16, 2020

I was proposing something similar.

@nijel
Copy link
Member Author

nijel commented Apr 16, 2020

I think we could use something GitLab like as described in #3063 (comment). Example:

https://gitlab.com/fdroid/fdroid-website/-/issues?scope=all&utf8=%E2%9C%93&state=opened&author_username=uniqx

  1. Dropdown of recent/bookmarked/frequent queries.
  2. Editable query box with autocomplete.
  3. Sorting selection.

@SaptakS
Copy link
Contributor

SaptakS commented Apr 16, 2020

1. Dropdown of recent/bookmarked/frequent queries.

2. Editable query box with autocomplete.

3. Sorting selection.

Agree with this. I feel first we should go with separting this 3 parts like in gitlab and then iteratively focus on adding multiple elements (or query terms) in the query box like gitlab allows.

@SaptakS SaptakS self-assigned this Apr 17, 2020
@nijel
Copy link
Member Author

nijel commented Apr 21, 2020

Thinking more about this, the final state should be following (I'm not saying we should reach it in single step, but just to define the direction we're heading):

  • Sorting selection, which would autosubmit and keep current search term
  • Dropdown with predefined queries, if current query will match one, it will show it's name, otherwise "Custom Search" (this logic already exists and is used to display query name right now)
  • Text input with current search query
    • On focus dropdown would popup showing some help and recent queries
    • On typing it would offer autocompletion
    • This is heavily inspired by Sentry, so check out how it works here
  • Action buttons in side of search query
  • Navigation

The basic look should be following (it lacks the navigation):

image

Screenshots from Sentry to show how it behaves:

Recent queries shown on focus to text edit:

image

Autocompletion on tag:

image

Autocompletion on value:

image

@SaptakS
Copy link
Contributor

SaptakS commented Apr 21, 2020

@nijel sounds great to me. I am gonna proceed with it iteratively building first the UI and then improving on the different features.

@nijel nijel added this to the 4.1 milestone May 6, 2020
nijel added a commit that referenced this issue May 6, 2020
* Query Field: Separates query field from the pagination part

Separates the query search field from the pagination part and adds filters
and sorting options in UI

* Query Field: Adds sorting feature from the query field dropdown

* Refactors code for sorting and filtering

* Autosort and auto filter queries on selecting dropdown

* Adds selenium tests and more sort options

* Adds fixes for some accessibility issues related to input

* Refactor codes to make more readable

* Fix selenium tests

- add delay before screenshots to avoid capturing transitions
- revert to original search for other tests

* Adds sorting direction feature with suitable icons

* Shows dropdown labels and enables autosearch in page with results

* Use bootstrap button group for sorting

* Use default autosizing width of button for sort dropdown

* Fixes button display in RTL

* Adds sort_by to SearchForm along with the direction

* Uses a separate class to identify autosubmit

* Adds query search field in zen pages

* Adds check to see if the current page has a sort field and a sort value set

Issue  #3308, #3710

Co-authored-by: Michal Čihař <[email protected]>
@nijel
Copy link
Member Author

nijel commented May 6, 2020

Query editing landed in #3766, the position needs to be done.

@github-actions
Copy link

Thank you for your report, the issue you have reported has just been fixed.

  • In case you see a problem with the fix, please comment on this issue.
  • In case you see similar problem, please open separate issue.
  • If you are happy with the outcome, consider supporting Weblate by donating.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: UX Issues related to user experience. enhancement Adding or requesting a new feature.
Projects
None yet
Development

No branches or pull requests

3 participants
@nijel @SaptakS and others