Windows Dev Center

SearchPaneSuggestionsRequestedEventArgs class

Provides data for a suggestionsrequested event that is associated with a searchPane object.

Syntax


/* For information about creating or accessing this object, see Remarks. */

Members

The SearchPaneSuggestionsRequestedEventArgs class has these types of members:

Properties

The SearchPaneSuggestionsRequestedEventArgs class has these properties.

PropertyAccess typeDescription

Language

Read-onlyThe Internet Engineering Task Force (IETF) language tag (BCP 47 standard) that identifies the language currently associated with the user's text input device.

LinguisticDetails

Read-onlyAn object that provides linguistic information about query text that the user is entering through an Input Method Editor (IME).

QueryText

Read-onlyThe text that the app should provide suggestions for and that was in the search box when the suggestionsrequested event fired.

Request

Read-onlyAn object that stores suggestions and information about the request.

 

Remarks

This object is passed to an app's suggestionsrequested event handler.

Use your app to provide suggestions

There are a few different ways you can get suggestions for your app to provide:

  • From an app-defined, static, local list
  • From a URL that supports suggestions in OpenSearch format
  • From a URL that supports suggestions in XML format

After you obtain suggestions, you must append them to the collection of suggestions to display for the user's query. Access this collection with the searchPaneSuggestionsRequest.searchSuggestionCollection property.

Note  If you want to provide result suggestions, you must also listen for and handle the resultsuggestionchosen event.

Examples

The Search contract sample demonstrates how to respond to a suggestionsrequested event.

Note  You can access information about the event from the searchPaneSuggestionsRequestedEventArgs object that is passed to your suggestionsrequested handler.

// Register the onsuggestionsrequested event in your apps global scope, for example default.js, so that it is registered as soon as your app is launched.
Windows.ApplicationModel.Search.SearchPane.getForCurrentView().onsuggestionsrequested = function (eventObject) {
    var queryText = eventObject.queryText, suggestionRequest = eventObject.request, linguisticDetails = eventObject.linguisticDetails;

    var queryAlternatives = linguisticDetails.queryTextAlternatives;
    var maxNumberOfSuggestions = 5;
    for (var i = 0, len = queryAlternatives.length, done = false; i < len && !done; i++) {
        // toLowerCase not necessary for East Asian languages. Preserves compatibility when non East Asian suggestions are mixed in with East Asian suggestions.
        var alternative = queryAlternatives[i].toLowerCase();
        for (var j = 0, suggestionLength = suggestionList.length; j < suggestionLength; j++) {
            if (suggestionList[j].substr(0, alternative.length).toLowerCase() === alternative) {
                suggestionRequest.searchSuggestionCollection.appendQuerySuggestion(suggestionList[j]);
                if (suggestionRequest.searchSuggestionCollection.size === maxNumberOfSuggestions) {
                    done = true;
                    break;
                }
            }
        }
    }

    // Construct list of alternatives so we can output them.
    var alternatives = "";
    for (var k = 0, alternativeCount = queryAlternatives.length; k < alternativeCount; k++) {
        alternatives += queryAlternatives[k];
    }
    if (suggestionRequest.searchSuggestionCollection.size > 0) {
        WinJS.log && WinJS.log("Suggestions provided for query: " + queryText + "\nUsing alternatives: " + alternatives, "sample", "status");
    } else {
        WinJS.log && WinJS.log("No suggestions provided for query: " + queryText + "\nUsing alternatives: " + alternatives, "sample", "status");
    }
};


For C# developers, the Search contract sample also demonstrates how to register for a SuggestionsRequested event through the SearchPane.


searchPane.SuggestionsRequested += new TypedEventHandler<SearchPane, SearchPaneSuggestionsRequestedEventArgs>(OnSearchPaneSuggestionsRequested);

Requirements (Windows 10 device family)

Device family

Desktop

API contract

Windows.ApplicationModel.Search.SearchContract, introduced version 1.0

Namespace

Windows.ApplicationModel.Search
Windows::ApplicationModel::Search [C++]

Metadata

Windows.ApplicationModel.Search.SearchContract.winmd

Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8 [Windows Store apps only]

Minimum supported server

Windows Server 2012 [Windows Store apps only]

Minimum supported phone

None supported

Namespace

Windows.ApplicationModel.Search
Windows::ApplicationModel::Search [C++]

Metadata

Windows.winmd

Attributes

[Deprecated()]
[MarshalingBehavior(Agile)]
[Version(0x06020000)]

See also

Object
ISearchPaneQueryChangedEventArgs
Search contract sample
Guidelines and checklist for search
Reference
SearchPane class
SearchPane.ResultSuggestionChosen event
SearchPane.SuggestionsRequested event
SearchSuggestionCollection class
SearchPaneSuggestionsRequestedEventArgs class
SearchPaneSuggestionsRequest.SearchSuggestionCollection property

 

 

Show:
© 2015 Microsoft