- fix pagination regression due to lodash change of api
SearchkitManager
is more intelligent with reregistering url listenersRefinementListFilter
,MenuFilter
,NumericRefinementListFilter
andRangeFilter
now supportsfieldOptions
fornested
/child
fieldsRefinementListFilter
,MenuFilter
inject missing selected filtersRefinementListFilter
,MenuFilter
have newbucketsTransform
prop function to manipulate the elastic search buckets returned.- Bug fix to itemComponent, listComponent, *Component which allows context in stateless components
- MenuFilter fix to support booleans
- HierarchicalRefinementFilter disabled state fix
- update history dependency to
2.1.1
which should be compatible with react-router 2.x - fix
DynamicRangeFilter
rounding issues - Added
countFormatter
count formatting support toRefinementListFilter
,MenuFilter
,NumericRefinementListFilter
,HierarchicalMenuFilter
,HierarchicalRefinementFilter
,HitsStats
- Added
rangeFormatter
range display support toRangeFilter
,DynamicRangeFilter
- Fix corner cases to BoolMustNot queries
SearchkitManager
searchOnLoad
now works without historySearchkitManager.addResultsListener
to register a callback when ever new results are recieved- Fix input filter styling
- Fix FacetFilter 'View All' link edge case
- fix
NoHits
styling so it uses scss vars - fix
CheckboxFilter
disabled state - fix
SearchBox
,InputFilter
when searchOnChange=false disabled state - introduce
blurAction
toSearchBox
,InputFilter
blurAction="search" will search on blur
blurAction="restore" will restore text to previous state on blur
- fix scss dep management, so vars.scss can be overriden
- add a dark theme example app in our test folder
- layout classnames
sk-action-bar__info
+sk-action-bar__filter
renamed tosk-action-bar-row
.- We strongly advise to use the new layout components.
- New
Layout
components to be used instead of specific div + classname markupLayout
,TopBar
,LayoutBody
,SideBar
,LayoutResults
,ActionBar
,ActionBarRow
- precursor to responsive layout where we make these layout components more intelligent.
- New
CheckboxFilter
component which does a on/off checkbox based on arbitrary query - New
InputFilter
component which is a free text filter, great if you need to filter on specific fields. - New
DynamicRangeFilter
component which will dynamically calculates the possible min/max based on your search results. - note this filter only supports range slider UI.
- New
TagFilter
components, Used to have clickable tags within your search results. SearchBox
enhancementsprefixQueryOptions
prop if you want to customize the elastic options for this queryqueryBuilder
prop if you want to customize how the query is built, defaults toSimpleQueryString
SortSelector
now supports multiple sort fields (e.g. secondary sort), be sure to provide the mandatory keySearchkitManager
has newreloadSearch
method, used if you want to just reload the search even with the same query.
- SortingSelector handles for app reload.
- PageSizeSelector synchronises state correctly with url
- support Classic components using react.createClass properly in our prop overrides such as listComponent, itemComponent etc.
- Classname changes,in
RefinementListFilter
,MenuFilter
,NumericRefinementListFilter
,Pagination
,ViewSwitcherToggle
,SortingSelector
. We have updated the theme to be backwards compatible, but if you have custom css for those components, you may need to update them.
-
New UI Components
-
List components (
Toggle
,Select
,ItemList
,CheckboxItemList
,ItemHistogramList
,Tabs
,TagCloud
)- supported by
RefinementListFilter
,MenuFilter
,Pagination
,ViewSwitcherToggle
,SortingSelector
,NumericRefinementListFilter
- supported by
-
Panel, all left hand filter components use Panel which can be collapsable now.
-
RefinementListFilter, MenuFilter itemComponent changes
- If you have implemented a custom itemComponent, the toggleFilter action function has been renamed to onClick, be sure to rename so that clicking facets works as expected.
-
Added range input capability to
RangeFilter
-
Added
PageSizeSelector
for selecting how many results per page -
Hits
+ViewSwitcherHits
now supports listComponent to fully handled the list container. -
Pagination
now supports showText property,PaginationSelect
is a select based implementation of Pagination -
SearchkitManager
now supportssearchOnLoad
property which controls whether the initial search runs. -
SearchkitManager
has asearchUrlPath
property which controls the endpoint name (defaults to _search) -
exclude/include properties added to
RefinementListFilter
,MenuFilter
. These are just a pass through property to ElasticSearch's Terms Aggregation
Theming
, 0.7 has major changes to component classnames and overall theming approach. Searchkit classes are now prefixed withsk-
in order to avoid collisions, we also provide a set of variables which control various aspects of the theme. See theming section in docs.Hits
component requiresmod="sk-hits-grid"
to retain grid styling- If you are using the cdn, we only ship
themes.css
and no longerstyles.css
<link href="//cdn.jsdelivr.net/searchkit/0.7.0/theme.css" rel="stylesheet"/>
setQueryProcessor
added toSearchkitManager
which allows post processing of query before it is sent to elasticsearch. #131SortingSelector
now allows empty field, sort properties, useful if you need to add a None option or you want to rely on elasticsearch defaults for sort direction. #116ViewSwitcherHits
andViewSwitcherToggle
toggle components which allows view switch functionality, e.g. grid or list view. Our theming updates also provide good defaults for grid + list views. #30ResetFilter
now accepts reset options. This allows the which features(filter, query, pagination) influence the resetting disabled state, and what gets reset once the component has been clicked. #107
- Fix regression in RefinementListFilter not showing view more options
- Fix pagination bug where last page was not clickable.
- Fix documentation references for sourceFilter which lead to incomplete demo
Hits
now supports thesourceFilter
prop, we strongly advise you to use this as it will speed up your search and reduce a lot of wasted bandwidth #20
<Hits hitsPerPage={50} sourceFilter={["title", "poster", "imdbId"]} itemComponent={HitItem}/>
SortingSelector
Component now supportsdefaultOption
prop, and we have fixed issues in selection. #89RefinementListFilter
,MenuFilter
,HierarchicalMenuFilter
all support sorting on intrinsic order fields via the theorderKey
andorderDirection
props. #46NoHits
,ResetFilters
now support customization via high order react componentsHitStats
now supports customization via higher order react component, note if you previously extended HitStats, you will need to change your code to use thecomponent
prop- ScrollToTop improvements, now configurable on
Hits
component and will scroll to top on any result changes, this is via thescrollTo
prop. #48 - ErrorHandling, we now display a more meaningful message when an error in elastic or the http call occurs. The
NoHits
component displays this, and is also configurable via theerrorComponent
higher order component prop.#18 ResetFilters
now ignores defaultQueries.#44
- missing theme css
- remove lib from git. If you install package not via npm, you need to
npm run-script build
in root of project. #37
- InitialView component #34
-
Avoid duplicate redundant searches #71
-
Discourage extending searchkit components, use
itemComponent
andcomponent
to override display with your own React components. The following components support this feature. See component docs for more information. #17- Hits
- InitialLoader
- Menu
- Refinement List
- Reset
- Selected Filters
-
Pagination supports showing links #40
-
Range Filter no filter applied if range min max equals component min and max #16
-
Configurable search throttle time via prop on searchbox component #55
- No throttling of search query #35
- componentWillUnmount not removing accessor #25
- NumericRefinementListFilter does not add
.is-disabled
class when has no options #50
- update to lodash 4.0 with individual function imports (smaller footprint)
- Breaking api change to internal query builder RangeQuery
- Increased unit test coverage to 99%
- Increase e2e test coverage
- New RangeFilter slider component
- More QueryDSL builds
- Improved tsting
- Correct Searchkit.version
- Better Documentation
- Complete rewrite of query builder
- More test coverage ( 92% coverage )
- More comprehensive support for translations
- Better Documentation
- New
NoHits
Component
- No results blank state now handled by
NoHits
component, removed responsibility fromHits
component. Please useNoHits
component instead for this state.
Searchbox
:prefixQueryFields
usesqueryFields
if not specified andsearchOnChange
prop is enabled
- Changed licence to Apache 2.0
- Better Documentation
- Searchbox uses replacestate as you type, pushstate on no change after 400ms
- Better Documentation
- Searchbox uses replacestate as you type, pushstate on no change after 400ms
- Initial public release