Skip to content

Property Editor UI Picker: Implement fuzzy search#22468

Merged
nielslyngsoe merged 49 commits into
mainfrom
v17/improvement/property-editor-ui-search
May 4, 2026
Merged

Property Editor UI Picker: Implement fuzzy search#22468
nielslyngsoe merged 49 commits into
mainfrom
v17/improvement/property-editor-ui-search

Conversation

@nielslyngsoe

@nielslyngsoe nielslyngsoe commented Apr 14, 2026

Copy link
Copy Markdown
Member

Implements Fuzzy search to the Property Editor UI Picker and adds Keywords to it, and the one taking part in the Data-Type Flow Picker.

Also adds suggestions to the Data-Type Flow Picker based on the current Property Name

Review by searching for a Property Editor, verifying that results are meaningful

Copilot AI review requested due to automatic review settings April 14, 2026 12:19
@nielslyngsoe nielslyngsoe added the category/ux User experience label Apr 14, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Implements fuzzy search across the Property Editor UI picker (and the Data-Type Flow picker’s “create new configuration” UI list), and extends the icon picker with a richer search experience backed by additional icon metadata.

Changes:

  • Add reusable levenshtein + fuzzy string utilities (with tests) and expose them via the core utils barrel.
  • Introduce cancellable, yield-to-event-loop search controllers for property-editor UIs and icons (with tests).
  • Integrate the new search controllers into the Data-Type Picker Flow modal, Property Editor UI Picker modal, and Icon Picker modal (plus minor UI style tweaks).

Reviewed changes

Copilot reviewed 18 out of 22 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
src/Umbraco.Web.UI.Client/src/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-modal.element.ts Uses UmbPropertyEditorUISearchController to fuzzy-search property editor UIs in the flow modal.
src/Umbraco.Web.UI.Client/src/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.ts Minor CSS tweak to avoid label clipping.
src/Umbraco.Web.UI.Client/src/packages/core/utils/string/levenshtein/levenshtein.function.ts Adds Levenshtein distance + similarity utilities.
src/Umbraco.Web.UI.Client/src/packages/core/utils/string/levenshtein/levenshtein.function.test.ts Tests for Levenshtein utilities.
src/Umbraco.Web.UI.Client/src/packages/core/utils/string/levenshtein/index.ts Barrel export for Levenshtein utilities.
src/Umbraco.Web.UI.Client/src/packages/core/utils/string/fuzzy/fuzzy.function.ts Adds tokenization + fuzzy match scoring helpers.
src/Umbraco.Web.UI.Client/src/packages/core/utils/string/fuzzy/fuzzy.function.test.ts Tests for fuzzy helpers.
src/Umbraco.Web.UI.Client/src/packages/core/utils/string/fuzzy/index.ts Barrel export for fuzzy helpers.
src/Umbraco.Web.UI.Client/src/packages/core/utils/string/index.ts Exposes new fuzzy and levenshtein modules via utils barrel.
src/Umbraco.Web.UI.Client/src/packages/core/property-editor/ui-picker-modal/property-editor-ui-search.controller.ts New cancellable fuzzy search controller for property editor UIs.
src/Umbraco.Web.UI.Client/src/packages/core/property-editor/ui-picker-modal/property-editor-ui-search.controller.test.ts Tests for property editor UI search controller behavior (ranking, fuzzy, abort).
src/Umbraco.Web.UI.Client/src/packages/core/property-editor/ui-picker-modal/property-editor-ui-picker-modal.element.ts Integrates fuzzy search + debounced input into property editor UI picker modal.
src/Umbraco.Web.UI.Client/src/packages/core/property-editor/ui-picker-modal/index.ts Exports the new search controller.
src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/types.ts Extends icon definitions with optional keywords, groups, related.
src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-picker-modal/icon-search.controller.ts New cancellable fuzzy search controller for icons (includes related icon expansion).
src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-picker-modal/icon-search.controller.test.ts Tests for icon search controller behavior (ranking, fuzzy, groups, related, abort).
src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.ts Switches icon filtering to use the new search controller + debounced input.
src/Umbraco.Web.UI.Client/devops/icons/todo_implement_this_data_thesaurus.json Removes large placeholder thesaurus dataset file.
src/Umbraco.Web.UI.Client/devops/icons/index.js Merges Lucide upstream tags/categories into generated icon dictionary metadata.

nielslyngsoe and others added 14 commits April 16, 2026 10:48
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.ts
#	src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons.ts
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
@nielslyngsoe nielslyngsoe enabled auto-merge (squash) April 24, 2026 19:45
nielslyngsoe and others added 5 commits April 24, 2026 21:50
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
@madsrasmussen madsrasmussen self-assigned this May 4, 2026
Replace incorrect 'deactive' keyword with 'inactive' and add 'deactivated' to the toggle property editor manifest.
@nielslyngsoe nielslyngsoe merged commit 7136e12 into main May 4, 2026
29 of 30 checks passed
@nielslyngsoe nielslyngsoe deleted the v17/improvement/property-editor-ui-search branch May 4, 2026 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants