Skip to content
New issue

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

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

Already on GitHub? # to your account

Improve sorting of results when entering text in select fields #4528

Merged
merged 3 commits into from
Feb 6, 2024

Conversation

WithoutPants
Copy link
Collaborator

Resolves #4342

Applies front-end relevance sorting to the select controls based on the input query string.

Sorting using the following priorities:

  • exact match with name, then any aliases
  • name starts with input string, or any aliases
  • a word in the name is equal to the input string, or in any aliases
  • a word in the name starts with the input string, or a word in any aliases
  • name/alias includes the input string
  • locale compare (existing behaviour)

Name will always be preferred over alias for a given priority - ie an exact match of an alias will be preferred over a name starting with the input string.

@WithoutPants WithoutPants added the improvement Something needed tweaking. label Feb 6, 2024
@WithoutPants WithoutPants added this to the Version 0.25.0 milestone Feb 6, 2024
@WithoutPants WithoutPants merged commit 8770e81 into stashapp:develop Feb 6, 2024
2 checks passed
dogwithakeyboard pushed a commit to dogwithakeyboard/stash that referenced this pull request Feb 18, 2024
…app#4528)

* Sort select results by relevance
* Apply relevance sorting to studio select
* Apply relevance sorting to filter select
dogwithakeyboard added a commit to dogwithakeyboard/stash that referenced this pull request Feb 18, 2024
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291425 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291424 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291423 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291422 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291420 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291418 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291418 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291417 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291413 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291412 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291411 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291410 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291409 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291407 +0000

parent 0cdea20
author dogwithakeyboard <gdkjhsahdka@protonmail.com> 1703879810 +0000
committer dogwithakeyboard <gdkjhsahdka@protonmail.com> 1708291326 +0000

Image performer age filter

Fix saved filter UI bugs (stashapp#4394)

* Fix missing intl strings
* Fix saved filter list z-index
* Fix saved filter list double scrollbar
* Display error inside filter list
* Filter out nonexistent saved filter rows in FrontPageConfig

Refresh package managers after setup (stashapp#4397)

* Refresh package managers after setup
* Fix default plugins/scrapers paths

Fix Scene Tagger config blacklist  (stashapp#4396)

* Refactoring
* Add item on Enter
* Don't add duplicate items

Update macOS readme links (stashapp#4347)

* Update readme macOS download links

* Update docker readme to point to develop branch

Revert modal button order change (stashapp#4400)

Use 8.14.3-r0 of vips (stashapp#4402)

Workaround setting protocol on external player url (stashapp#4403)

Update changelog for bugfix release

Add CSP to plugin from the yaml file (stashapp#4424)

Add join to intCriterionHandler (stashapp#4414)

* Add join to intCriterionHandler
* Add join to floatCriterionHandler

Fix scraped performer alias matching (stashapp#4432)

Fixes package manger head border (stashapp#4420)

Scene queue autoplay (stashapp#4428)

* Remove unnecessary undefined checks
* Respect autostartVideoOnPlaySelected in scene queue

Fix settings tab links (stashapp#4430)

Disable select all checkbox for plugin sources (stashapp#4434)

Sort plugin settings (stashapp#4435)

Update FieldStrategyOverwrite to work when scene has no existing URL (stashapp#4412)

Hide tag input when set tags is disabled (stashapp#4440)

Calculate DetailImage fallback width using rem (stashapp#4441)

Don't bail on error when scraping all (stashapp#4442)

Fix error when creating/updating performer with alias == name (stashapp#4443)

* Filter out performer aliases that match the name
* Validate when creating/updating performer in stash-box task

Fix scene marker merging (stashapp#4446)

Update changelog for bugfix release

Don't retry failed autoplay (stashapp#4450)

Fix studio name uniqueness validation (stashapp#4454)

Update changelog

added support for image orientation filter (stashapp#4404)

* added support for image orientation filter
* Add orientation filtering to scenes
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (stashapp#4375)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
- [Commits](golang/crypto@v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump vite from 4.4.11 to 4.4.12 in /ui/v2.5 (stashapp#4348)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.11 to 4.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Improved scene queue (stashapp#4448)

* Improved scene queue
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Update Performer gender filter (stashapp#4419)

* Update Performer gender filter

Updated the Performer gender filter to allow selection of multiple genders (`IS`) or performers with no gender specified (`IS NULL`).

* Add default modifier for circumcised
* Handle existing saved filters
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Move zip files while moving folders (stashapp#4374)

Add support for disabling mobile media-viewer's fullscreen auto-rotate (stashapp#4416)

Advanced settings (stashapp#4378)

* Add advanced settings mode toggle
* Add advanced settings

Improved list view for scenes, galleries and performers (stashapp#4368)

Co-authored-by: InfiniteStash <117855276+InfiniteStash@users.noreply.github.com>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Tag select refactor (stashapp#4478)

* Add interface to load tags by id
* Use minimal data for tag select queries
* Center image/text in select list
* Overhaul tag select
* Support excludeIds. Comment out image in dropdown
* Replace existing selects
* Remove unused code
* Fix styling of aliases

Clarify session description (stashapp#4468)

Add note for auto tag (stashapp#4490)

Update scene list setting (stashapp#4473)

Minor UI fixes (stashapp#4509)

* Fix a zero value disabling the SettingModal
* Fix performer disambiguation styling
* Fix performer tagger error message

only use details background image when provided (stashapp#4515)

Frontend fix media_err_decode on playback (stashapp#4506)

Improve list table readability (stashapp#4497)

* fixes mandatory columns bug and consistency issues

Link improvements and fixes (stashapp#4501)

* Add ExternalLink
* Replace <a> with <Link>

Add blank favicon on login page (stashapp#4498)

Fix tag selector in scrape dialogs (stashapp#4526)

Studio select refactor (stashapp#4493)

* Add id interface to findStudios
* Replace existing selects
* Remove unused code
* Fix scrape/merge select
* Make clearable

expose useful libs (stashapp#4489)

* expose useful libs
* Update UIPluginApi.md

Fix UI crash during setup (stashapp#4527)

Fit cards properly within their containers (stashapp#4514)

* created missing cards grids

support filesize in scene list (stashapp#4480)

Studio child filter and sort (stashapp#4479)

Improve client-side graphql scalar types (stashapp#4511)

* Add types to graphql scalars
* Upgrade dependencies
* Override UI config type
* Remove all IUIConfig casts
* Add tableColumns to IUIConfig
* Add BoolMap type, set strictScalars
* Add PluginConfigMap
* Replace any with unknown
* Add SavedObjectFilter and SavedUIOptions
* Remove unused items from CriterionType

Bump vite from 4.4.12 to 4.5.2 in /ui/v2.5 (stashapp#4477)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.12 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Improve sorting of results when entering text in select fields (stashapp#4528)

* Sort select results by relevance
* Apply relevance sorting to studio select
* Apply relevance sorting to filter select

Fix tag popper over card (stashapp#4529)

Fix UI config mutation not working (stashapp#4533)

Add gallery select filter and fix image gallery filtering (stashapp#4535)

* Accept gallery ids in findGalleries
* Add gallery select component
* Add and fix image gallery filter
* Show gallery path as alias

Wrap card popovers (stashapp#4539)

Common studio overlay component (stashapp#4540)

* Move GridCard to own directory
* Make common studio overlay component

Add disambiguation to performer link and performer select values (stashapp#4541)

* Add disambiguation to PerformerLink
* Add disambiguation to performer select values

Plugin api improvements (stashapp#4546)

* Expose useToast

* Expose components:

- studio/tag/performer/gallery selects
- date input
- country select
- folder select

Fix url not updated for default tab on Performer/Studio/Tag pages (stashapp#4538)

Fix scraped studio not matching existing value (stashapp#4548)

* Fix scraped studio not matching existing
* Fix incorrect key value

Fix segment repeating + cleanup speed calculation (stashapp#4557)

Bugfix: No Image Upscale for Clips (stashapp#4569)

Fix country selector in bulk performer edit dialog (stashapp#4565)

* Fix country select in edit performers dialog
* Fix edit performer dialog height

Mount edit panels only when first entering (stashapp#4564)

Fix merge not deleting deleted scene generated files (stashapp#4567)

Developer option: extra blob paths (stashapp#4566)

* Allow additional read-only blob paths
* Add developer option to add more blob sources
* Add makefile targets to start and remove build container
* Documentation

Weblate translations update (stashapp#4578)

* Translated using Weblate (French)

Currently translated at 100.0% (1056 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/fr/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 81.3% (859 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/pt_BR/

* Translated using Weblate (Swedish)

Currently translated at 96.3% (1017 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/sv/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/

* Translated using Weblate (French)

Currently translated at 100.0% (1056 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/fr/

* Translated using Weblate (Swedish)

Currently translated at 99.8% (1054 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/sv/

* Translated using Weblate (French)

Currently translated at 100.0% (1056 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/fr/

* Added translation using Weblate (Norwegian Bokmål)

* Translated using Weblate (French)

Currently translated at 100.0% (1056 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/fr/

* Translated using Weblate (Hungarian)

Currently translated at 37.5% (397 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/hu/

* Translated using Weblate (Swedish)

Currently translated at 99.9% (1055 of 1056 strings)

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/sv/

* Pretty locale files

* Sort locale keys

---------

Co-authored-by: doodoo <adr.web@hotmail.fr>
Co-authored-by: Robert de Abreu Viana <deathrobert2010@gmail.com>
Co-authored-by: alpacaserious <srhsgsef@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: R Balu <balu.ka@hotmail.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>

Update translation files (stashapp#4581)

Updated by "Cleanup translation files" hook in Weblate.

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/

Co-authored-by: Hosted Weblate <hosted@weblate.org>

Fix saved filter UI bugs (stashapp#4394)

* Fix missing intl strings
* Fix saved filter list z-index
* Fix saved filter list double scrollbar
* Display error inside filter list
* Filter out nonexistent saved filter rows in FrontPageConfig

Refresh package managers after setup (stashapp#4397)

* Refresh package managers after setup
* Fix default plugins/scrapers paths

Fix Scene Tagger config blacklist  (stashapp#4396)

* Refactoring
* Add item on Enter
* Don't add duplicate items

Update macOS readme links (stashapp#4347)

* Update readme macOS download links

* Update docker readme to point to develop branch

Revert modal button order change (stashapp#4400)

Use 8.14.3-r0 of vips (stashapp#4402)

Workaround setting protocol on external player url (stashapp#4403)

Add CSP to plugin from the yaml file (stashapp#4424)

Add join to intCriterionHandler (stashapp#4414)

* Add join to intCriterionHandler
* Add join to floatCriterionHandler

Fix scraped performer alias matching (stashapp#4432)

Fixes package manger head border (stashapp#4420)

Scene queue autoplay (stashapp#4428)

* Remove unnecessary undefined checks
* Respect autostartVideoOnPlaySelected in scene queue

Disable select all checkbox for plugin sources (stashapp#4434)

Sort plugin settings (stashapp#4435)

Update FieldStrategyOverwrite to work when scene has no existing URL (stashapp#4412)

Hide tag input when set tags is disabled (stashapp#4440)

Calculate DetailImage fallback width using rem (stashapp#4441)

Don't bail on error when scraping all (stashapp#4442)

Fix error when creating/updating performer with alias == name (stashapp#4443)

* Filter out performer aliases that match the name
* Validate when creating/updating performer in stash-box task

Fix scene marker merging (stashapp#4446)

Don't retry failed autoplay (stashapp#4450)

Fix studio name uniqueness validation (stashapp#4454)

Update changelog

Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (stashapp#4375)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
- [Commits](golang/crypto@v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Improved scene queue (stashapp#4448)

* Improved scene queue
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>

Move zip files while moving folders (stashapp#4374)

Clarify session description (stashapp#4468)

Add note for auto tag (stashapp#4490)

Update scene list setting (stashapp#4473)

only use details background image when provided (stashapp#4515)

Frontend fix media_err_decode on playback (stashapp#4506)

Improve list table readability (stashapp#4497)

* fixes mandatory columns bug and consistency issues

Add blank favicon on login page (stashapp#4498)

expose useful libs (stashapp#4489)

* expose useful libs
* Update UIPluginApi.md

Fix UI crash during setup (stashapp#4527)

support filesize in scene list (stashapp#4480)

Studio child filter and sort (stashapp#4479)

Bump vite from 4.4.12 to 4.5.2 in /ui/v2.5 (stashapp#4477)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.12 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Fix tag popper over card (stashapp#4529)

Fix UI config mutation not working (stashapp#4533)

Wrap card popovers (stashapp#4539)

Common studio overlay component (stashapp#4540)

* Move GridCard to own directory
* Make common studio overlay component

Add disambiguation to performer link and performer select values (stashapp#4541)

* Add disambiguation to PerformerLink
* Add disambiguation to performer select values

Plugin api improvements (stashapp#4546)

* Expose useToast

* Expose components:

- studio/tag/performer/gallery selects
- date input
- country select
- folder select

Fix url not updated for default tab on Performer/Studio/Tag pages (stashapp#4538)

Fix scraped studio not matching existing value (stashapp#4548)

* Fix scraped studio not matching existing
* Fix incorrect key value

Fix segment repeating + cleanup speed calculation (stashapp#4557)

Bugfix: No Image Upscale for Clips (stashapp#4569)

Fix country selector in bulk performer edit dialog (stashapp#4565)

* Fix country select in edit performers dialog
* Fix edit performer dialog height

Mount edit panels only when first entering (stashapp#4564)

Fix merge not deleting deleted scene generated files (stashapp#4567)

Developer option: extra blob paths (stashapp#4566)

* Allow additional read-only blob paths
* Add developer option to add more blob sources
* Add makefile targets to start and remove build container
* Documentation

Update translation files (stashapp#4581)

Updated by "Cleanup translation files" hook in Weblate.

Translation: stashapp/stash
Translate-URL: https://hosted.weblate.org/projects/stashapp/stash/

Co-authored-by: Hosted Weblate <hosted@weblate.org>
halkeye pushed a commit to halkeye/stash that referenced this pull request Sep 1, 2024
…app#4528)

* Sort select results by relevance
* Apply relevance sorting to studio select
* Apply relevance sorting to filter select
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
improvement Something needed tweaking.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature] Autocomplete behaviour improvement for short[ish] item searches
1 participant