new MLSearchController($scope, $location, mlSearch)

Parameters

Name Type Optional Description

$scope

Object

 

child controller's scope

$location

Object

 

angular's $location service

mlSearch

MLSearchContext

 

child controller's searchContext

Properties

Name Type Optional Description

$scope

Object

 

child controller's scope

$location

Object

 

angular's $location service

mlSearch

MLSearchContext

 

child controller's searchContext

searchPending

Boolean

 

signifies whether a search is in progress

page

Number

 

the current results page

qtext

String

 

the current query text

response

Object

 

the search response object

Methods

search implementation function

sets MLSearchController#searchPending to true, invokes MLSearchContext#search with MLSearchController#updateSearchResults as the callback, and invokes MLSearchController#updateURLParams

Returns

Promise the promise from MLSearchContext#search

clearFacets() → Promise

clear all facet selections, and run a search

Returns

Promise the promise from MLSearchController#_search

init() → Promise

initialize the controller, setting the search state form URL params, and creating a handler for the $locationChangeSuccess event

Returns

Promise the promise from MLSearchContext#fromParams

locationChange(e, newUrl, oldUrl) → Promise

handle the $locationChangeSuccess event

checks if mlSearch URL params or additional params have changed (using the child controller's parseExtraURLParams() method, if available), and, if necessary, initiates a search via MLSearchController#_search

Parameters

Name Type Optional Description

e

Object

 

the $locationChangeSuccess event object

newUrl

String

 

oldUrl

String

 

Returns

Promise the promise from MLSearchContext#locationChange

parseExtraURLParams() → Boolean

UNIMPLEMENTED EXTENSION METHOD

implement to support extra URL params that can trigger a search;

should read extra URL params, and update the controller state

Returns

Boolean should a search be triggered

reset() → Promise

clear qtext, facet selections, boost queries, and additional queries. Then, run a search.

Returns

Promise the promise from MLSearchController#_search

the primary search method, for use with any user-triggered searches (for instance, from an input control)

Parameter

Name Type Optional Description

qtext

String

Yes

if present, updates the state of MLSearchController#qtext

Returns

Promise the promise from MLSearchController#_search

showMoreFacets(facet, facetName[, step]) → Promise

Appends additional facet values to the provided facet object.

Parameters

Name Type Optional Description

facet

Object

 

a facet object from MLSearchController#response

facetName

String

 

facet name

step

Number

Yes

the number of additional facet values to retrieve (defaults to 5)

Returns

Promise the promise from MLSearchContext#showMoreFacets

suggest(qtext[, options]) → Promise

Gets search phrase suggestions based on the current state. This method can be passed directly to the ui-bootstrap typeahead directive.

Parameters

Name Type Optional Description

qtext

String

 

the partial-phrase to match

options

(String or Object)

Yes

string options name (to override suggestOptions), or object for adhoc combined query options

Returns

Promise the promise from MLSearchContext#suggest

toggleFacet(facetName, value) → Promise

toggle the selection state of the specified facet value

Parameters

Name Type Optional Description

facetName

String

 

the name of the facet to toggle

value

String

 

the value of the facet to toggle

Returns

Promise the promise from MLSearchController#_search

toggleNegatedFacet(facetName, value) → Promise

toggle the selection state of the specified NEGATED facet value

Parameters

Name Type Optional Description

facetName

String

 

the name of the NEGATED facet to toggle

value

String

 

the value of the NEGATED facet to toggle

Returns

Promise the promise from MLSearchController#_search

updateExtraURLParams()

UNIMPLEMENTED EXTENSION METHOD

implement to support additional URL params that can trigger a search;

should update extra URL params from the controller state

updateSearchResults(data) → MLSearchController

updates controller state with search results

sets MLSearchController#searchPending to true, sets MLSearchController#response, MLSearchController#qtext, and MLSearchController#page to values from the response

Parameter

Name Type Optional Description

data

Object

 

the response from MLSearchContext#search

Returns

MLSearchController this

updateURLParams() → MLSearchController

updates URL params based on the current MLSearchContext state, preserving any additional params. invokes the child controller's updateExtraURLParams() method, if available

Returns

MLSearchController this