diff --git a/CHANGELOG.md b/CHANGELOG.md
index f740ddfd5f..e63a6ecfa3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,40 @@
+
+# [1.3.0](https://github.com/algolia/instantsearch.js/compare/v1.2.5...v1.3.0) (2016-03-04)
+
+
+### Bug Fixes
+
+* **browser support:** make IE lte 10 work by fixing Object.getPrototypeOf ([bbb264b](https://github.com/algolia/instantsearch.js/commit/bbb264b))
+* **menu,refinementList:** sort by count AND name to avoid reorders on refine ([02fe7bf](https://github.com/algolia/instantsearch.js/commit/02fe7bf)), closes [#65](https://github.com/algolia/instantsearch.js/issues/65)
+* **priceRanges:** pass the bound refine to the form ([ce2b956](https://github.com/algolia/instantsearch.js/commit/ce2b956))
+* **searchBox:** handle external updates of the query ([6a0af14](https://github.com/algolia/instantsearch.js/commit/6a0af14)), closes [#803](https://github.com/algolia/instantsearch.js/issues/803)
+* **searchBox:** stop setting the query twice ([91270b2](https://github.com/algolia/instantsearch.js/commit/91270b2))
+* **searchBox:** stop updating query at eachkeystroke with searchOnEnterKeyPressOnly ([28dc4d2](https://github.com/algolia/instantsearch.js/commit/28dc4d2)), closes [#875](https://github.com/algolia/instantsearch.js/issues/875)
+* **Slider:** do not render Slider when range.min === range.max ([f20274e](https://github.com/algolia/instantsearch.js/commit/f20274e))
+* **Template:** now render() when templateKey changes ([8906224](https://github.com/algolia/instantsearch.js/commit/8906224))
+* **toggle:** pass isRefined to toggleRefinement ([8ac494e](https://github.com/algolia/instantsearch.js/commit/8ac494e))
+* **url-sync:** always decode incoming query string ([bea38e3](https://github.com/algolia/instantsearch.js/commit/bea38e3)), closes [#848](https://github.com/algolia/instantsearch.js/issues/848)
+* **url-sync:** handle string
| Array.<string>
| CSS class to add to the body element |
| `options.cssClasses.footer`Type: string
| Array.<string>
| CSS class to add to the footer element |
| `options.cssClasses.link`Type: string
| Array.<string>
| CSS class to add to the link element |
+| `options.collapsible`Default:false
Type: object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/docs/_includes/widget-jsdoc/currentRefinedValues.md b/docs/_includes/widget-jsdoc/currentRefinedValues.md index 32a20f4c32..82f36d1272 100644 --- a/docs/_includes/widget-jsdoc/currentRefinedValues.md +++ b/docs/_includes/widget-jsdoc/currentRefinedValues.md @@ -25,5 +25,7 @@ | `options.cssClasses.link`Type:string
| CSS classes added to the link element |
| `options.cssClasses.count`Type: string
| CSS classes added to the count element |
| `options.cssClasses.footer`Type: string
| CSS classes added to the footer element |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/docs/_includes/widget-jsdoc/hierarchicalMenu.md b/docs/_includes/widget-jsdoc/hierarchicalMenu.md index 6a55d17195..5195459fda 100644 --- a/docs/_includes/widget-jsdoc/hierarchicalMenu.md +++ b/docs/_includes/widget-jsdoc/hierarchicalMenu.md @@ -24,5 +24,7 @@ | `options.cssClasses.active`Type:string
| Array.<string>
| CSS class to add to each active element |
| `options.cssClasses.link`Type: string
| Array.<string>
| CSS class to add to each link (when using the default template) |
| `options.cssClasses.count`Type: string
| Array.<string>
| CSS class to add to each count element (when using the default template) |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/docs/_includes/widget-jsdoc/hits.md b/docs/_includes/widget-jsdoc/hits.md index ba31ef8c25..75c6825d6e 100644 --- a/docs/_includes/widget-jsdoc/hits.md +++ b/docs/_includes/widget-jsdoc/hits.md @@ -4,11 +4,11 @@ | `options.templates`Type:Object
| Templates to use for the widget |
| `options.templates.empty`Default:''
string
| function
| Template to use when there are no results. |
| `options.templates.item`Default:''
string
| function
| Template to use for each result. This template will receive an object containing a single record. |
-| `options.templates.allItems`Default:''
string
| function
| Template to use for each result. (can't be used with item template). This template will receive a complete SearchResults result object, this object contains the key hits that contains all the records retrieved. |
+| `options.templates.allItems`Default:''
string
| function
| Template to use for the list of all results. (Can't be used with `item` template). This template will receive a complete SearchResults result object, this object contains the key hits that contains all the records retrieved. |
| `options.transformData`Type: Object
| Method to change the object passed to the templates |
-| `options.transformData.empty`Default:identity
function
| Method used to change the object passed to the empty template |
-| `options.transformData.item`Default:identity
function
| Method used to change the object passed to the item template |
-| `options.transformData.allItems`Default:identity
function
| Method used to change the object passed to the item template |
+| `options.transformData.empty`Default:identity
function
| Method used to change the object passed to the `empty` template |
+| `options.transformData.item`Default:identity
function
| Method used to change the object passed to the `item` template |
+| `options.transformData.allItems`Default:identity
function
| Method used to change the object passed to the `allItems` template |
| `hitsPerPage`Default:20
number
| The number of hits to display per page |
| `options.cssClasses`Type: Object
| CSS classes to add |
| `options.cssClasses.root`Type: string
| Array.<string>
| CSS class to add to the wrapping element |
diff --git a/docs/_includes/widget-jsdoc/instantsearch.md b/docs/_includes/widget-jsdoc/instantsearch.md
index 20d55c1314..92aa58c5b4 100644
--- a/docs/_includes/widget-jsdoc/instantsearch.md
+++ b/docs/_includes/widget-jsdoc/instantsearch.md
@@ -9,5 +9,6 @@
| `options.urlSync.trackedParameters`Type: Array.<string>
| Parameters that will be synchronized in the URL. By default, it will track the query, all the refinable attribute (facets and numeric filters), the index and the page. [Full documentation](https://community.algolia.com/algoliasearch-helper-js/docs/SearchParameters.html) |
| `options.urlSync.useHash`Type: boolean
| If set to true, the url will be hash based. Otherwise, it'll use the query parameters using the modern history API. |
| `options.urlSync.threshold`Type: number
| Time in ms after which a new state is created in the browser history. The default value is 700. |
+| `options.searchFunction`Type: function
| A hook that will be called each time a search needs to be done, with the helper as a parameter. It's your responsibility to call helper.search(). This option allows you to avoid doing searches at page load for example. |
* Required
diff --git a/docs/_includes/widget-jsdoc/menu.md b/docs/_includes/widget-jsdoc/menu.md index d9589b70f7..05febbf67a 100644 --- a/docs/_includes/widget-jsdoc/menu.md +++ b/docs/_includes/widget-jsdoc/menu.md @@ -2,7 +2,7 @@ | --- | --- | | `options.container`Type:string
| DOMElement
| CSS Selector or DOMElement to insert the widget |
| `options.attributeName`Type: string
| Name of the attribute for faceting |
-| `options.sortBy`Default:['count:desc']
Array.<string>
| function
| How to sort refinements. Possible values: `count|isRefined|name:asc|desc` |
+| `options.sortBy`Default:['count:desc', 'name:asc']
Array.<string>
| function
| How to sort refinements. Possible values: `count|isRefined|name:asc|desc` |
| `options.limit`Default:10
string
| How many facets values to retrieve |
| `options.showMore`Default:false
object
| boolean
| Limit the number of results and display a showMore button |
| `options.showMore.templates`Type: object
| Templates to use for showMore |
@@ -25,5 +25,7 @@
| `options.cssClasses.active`Type: string
| Array.<string>
| CSS class to add to each active element |
| `options.cssClasses.link`Type: string
| Array.<string>
| CSS class to add to each link (when using the default template) |
| `options.cssClasses.count`Type: string
| Array.<string>
| CSS class to add to each count element (when using the default template) |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/docs/_includes/widget-jsdoc/numericRefinementList.md b/docs/_includes/widget-jsdoc/numericRefinementList.md index 8a32ae8e1c..cd8b46aeac 100644 --- a/docs/_includes/widget-jsdoc/numericRefinementList.md +++ b/docs/_includes/widget-jsdoc/numericRefinementList.md @@ -19,5 +19,7 @@ | `options.cssClasses.item`Type:string
| Array.<string>
| CSS class to add to each item element |
| `options.cssClasses.radio`Type: string
| Array.<string>
| CSS class to add to each radio element (when using the default template) |
| `options.cssClasses.active`Type: string
| Array.<string>
| CSS class to add to each active element |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/docs/_includes/widget-jsdoc/priceRanges.md b/docs/_includes/widget-jsdoc/priceRanges.md index 5b3ba14cce..ba0e814859 100644 --- a/docs/_includes/widget-jsdoc/priceRanges.md +++ b/docs/_includes/widget-jsdoc/priceRanges.md @@ -24,5 +24,7 @@ | `options.cssClasses.separator`Type:string
| Array.<string>
| CSS class to add to the separator of the form |
| `options.cssClasses.button`Type: string
| Array.<string>
| CSS class to add to the submit button of the form |
| `options.cssClasses.footer`Type: string
| Array.<string>
| CSS class to add to the footer element |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/docs/_includes/widget-jsdoc/rangeSlider.md b/docs/_includes/widget-jsdoc/rangeSlider.md index cbb13cf049..da669c0f75 100644 --- a/docs/_includes/widget-jsdoc/rangeSlider.md +++ b/docs/_includes/widget-jsdoc/rangeSlider.md @@ -12,5 +12,9 @@ | `options.cssClasses.header`Type:string
| Array.<string>
| CSS class to add to the header element |
| `options.cssClasses.body`Type: string
| Array.<string>
| CSS class to add to the body element |
| `options.cssClasses.footer`Type: string
| Array.<string>
| CSS class to add to the footer element |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
+| `options.min`Type: number
| Minimal slider value, default to automatically computed from the result set |
+| `options.max`Type: number
| Maximal slider value, defaults to automatically computed from the result set |
* Required
diff --git a/docs/_includes/widget-jsdoc/refinementList.md b/docs/_includes/widget-jsdoc/refinementList.md index 2c1b22c37a..ab6e4860d9 100644 --- a/docs/_includes/widget-jsdoc/refinementList.md +++ b/docs/_includes/widget-jsdoc/refinementList.md @@ -3,7 +3,7 @@ | `options.container`Type:string
| DOMElement
| CSS Selector or DOMElement to insert the widget |
| `options.attributeName`Type: string
| Name of the attribute for faceting |
| `options.operator`Default:'or'
string
| How to apply refinements. Possible values: `or`, `and` |
-| `options.sortBy`Default:['count:desc']
Array.<string>
| function
| How to sort refinements. Possible values: `count|isRefined|name:asc|desc` |
+| `options.sortBy`Default:['count:desc', 'name:asc']
Array.<string>
| function
| How to sort refinements. Possible values: `count|isRefined|name:asc|desc` |
| `options.limit`Default:10
string
| How much facet values to get. When the show more feature is activated this is the minimun number of facets requested (the show more button is not in active state). |
| `options.showMore`Default:false
object
| boolean
| Limit the number of results and display a showMore button |
| `options.showMore.templates`Type: object
| Templates to use for showMore |
@@ -27,5 +27,7 @@
| `options.cssClasses.label`Type: string
| Array.<string>
| CSS class to add to each label element (when using the default template) |
| `options.cssClasses.checkbox`Type: string
| Array.<string>
| CSS class to add to each checkbox element (when using the default template) |
| `options.cssClasses.count`Type: string
| Array.<string>
| CSS class to add to each count element (when using the default template) |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/docs/_includes/widget-jsdoc/searchBox.md b/docs/_includes/widget-jsdoc/searchBox.md index 2946fa27f1..be2c5cf9fd 100644 --- a/docs/_includes/widget-jsdoc/searchBox.md +++ b/docs/_includes/widget-jsdoc/searchBox.md @@ -10,5 +10,6 @@ | `options.cssClasses.root`Type:string
| Array.<string>
| CSS class to add to the wrapping div (if `wrapInput` set to `true`) |
| `options.cssClasses.input`Type: string
| Array.<string>
| CSS class to add to the input |
| `options.cssClasses.poweredBy`Type: string
| Array.<string>
| CSS class to add to the poweredBy element |
+| `queryHook`Type: function
| A function that will be called everytime a new search would be done. You will get the query as first parameter and a search(query) function to call as the second parameter. This queryHook can be used to debounce the number of searches done from the searchBox. |
* Required
diff --git a/docs/_includes/widget-jsdoc/starRating.md b/docs/_includes/widget-jsdoc/starRating.md index a7dd4dd0c2..4334db856d 100644 --- a/docs/_includes/widget-jsdoc/starRating.md +++ b/docs/_includes/widget-jsdoc/starRating.md @@ -23,5 +23,7 @@ | `options.cssClasses.star`Type:string
| Array.<string>
| CSS class to add to each star element (when using the default template) |
| `options.cssClasses.emptyStar`Type: string
| Array.<string>
| CSS class to add to each empty star element (when using the default template) |
| `options.cssClasses.active`Type: string
| Array.<string>
| CSS class to add to each active element |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/docs/_includes/widget-jsdoc/toggle.md b/docs/_includes/widget-jsdoc/toggle.md index 9dc7f2a6aa..f23348f61d 100644 --- a/docs/_includes/widget-jsdoc/toggle.md +++ b/docs/_includes/widget-jsdoc/toggle.md @@ -23,5 +23,7 @@ | `options.cssClasses.label`Type:string
| Array.<string>
| CSS class to add to each label element (when using the default template) |
| `options.cssClasses.checkbox`Type: string
| Array.<string>
| CSS class to add to each checkbox element (when using the default template) |
| `options.cssClasses.count`Type: string
| Array.<string>
| CSS class to add to each count |
+| `options.collapsible`Default:false
object
| boolean
| Hide the widget body and footer when clicking on header |
+| `options.collapsible.collapsed`Type: boolean
| Initial collapsed state of a collapsible widget |
* Required
diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index f6d410c56a..fefa0f892b 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "instantsearch.js", - "version": "1.2.5", + "version": "1.3.0", "npm-shrinkwrap-version": "200.4.0", "node-version": "v5.5.0", "dependencies": { diff --git a/package.json b/package.json index 67a663c20e..8f55f4c3ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "instantsearch.js", - "version": "1.2.5", + "version": "1.3.0", "description": "instantsearch.js is a library of widgets to build high performance instant search experiences using Algolia", "main": "dist-es5-module/index.js", "author": "Algolia