Facet range inputs & formalValue for filters#157
Conversation
…ity to use filterFormatValue for filters
There was a problem hiding this comment.
Pull request overview
This PR adds range facet input controls and the ability to format filter values using a configurable format string. The changes enable users to manually input range values for facets like price ranges and customize how range filter labels are displayed.
Key Changes:
- Added
sprintfformatting utility for filter value formatting - Introduced range input UI components with validation and submit functionality
- Added
filterFormatValueconfiguration option to facet settings
Reviewed changes
Copilot reviewed 16 out of 19 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/snap-toolbox/src/sprintf/sprintf.ts | Adds sprintf formatting utility for filter value formatting |
| packages/snap-toolbox/src/index.ts | Exports the new sprintf module |
| packages/snap-store-mobx/src/types.ts | Adds filterFormatValue config option to FacetStoreConfig |
| packages/snap-store-mobx/src/Search/Stores/SearchFilterStore.ts | Implements filter label formatting using sprintf and filterFormatValue config |
| packages/snap-store-mobx/src/Search/Stores/SearchFacetStore.ts | Updates facet type definition to use string literal union instead of generic string |
| packages/snap-store-mobx/src/Search/SearchStore.ts | Passes config to SearchFilterStore constructor |
| packages/snap-store-mobx/src/Autocomplete/AutocompleteStore.ts | Passes config to SearchFilterStore constructor |
| packages/snap-preact/src/Templates/Stores/library/languages/fr.ts | Adds French translation for range input submit button |
| packages/snap-preact/src/Templates/Stores/library/languages/es.ts | Adds Spanish translation for range input submit button |
| packages/snap-preact/components/src/types.ts | Removes deprecated FacetType enum |
| packages/snap-preact/components/src/components/Organisms/Facet/readme.md | Documents new range input props |
| packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx | Implements range input UI with validation and submit functionality |
| packages/snap-preact/components/src/components/Organisms/Facet/Facet.test.tsx | Adds tests for range input props and updates test class name |
| packages/snap-preact/components/src/components/Organisms/Facet/Facet.stories.tsx | Updates stories with range input controls and fixes site ID references |
| packages/snap-preact/components/src/components/Molecules/Filter/Filter.stories.tsx | Updates to use string literals instead of deprecated FacetType enum |
| packages/snap-preact-demo/templates/src/index.ts | Adds commented configuration examples for range inputs and filterFormatValue |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/snap-store-mobx/src/Search/Stores/SearchFilterStore.ts
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
korgon
left a comment
There was a problem hiding this comment.
Initial feedback. Still need to manual test.
packages/snap-store-mobx/src/Search/Stores/SearchFilterStore.ts
Outdated
Show resolved
Hide resolved
korgon
left a comment
There was a problem hiding this comment.
This config does not work as I would expect it to (affecting all applicable fields):
settings: {
filters: {
filterFormatValue: '$%01.2f - $%01.2f',
}
},
packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx
Show resolved
Hide resolved
|
There is an issue related to the format config here: ^ that task specifically is about the limitations of |
korgon
left a comment
There was a problem hiding this comment.
A few more thoughts - sorry my comments here are so spread out.
packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx
Outdated
Show resolved
Hide resolved
packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx
Show resolved
Hide resolved
packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx
Outdated
Show resolved
Hide resolved
packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx
Outdated
Show resolved
Hide resolved
packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx
Outdated
Show resolved
Hide resolved
packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx
Outdated
Show resolved
Hide resolved
packages/snap-preact/components/src/components/Organisms/Facet/Facet.tsx
Outdated
Show resolved
Hide resolved
changing a few class names and styles
adding range facet inputs and the ability to use filterFormatValue for filters