mirror of
https://github.com/devbridge/jQuery-Autocomplete.git
synced 2024-11-25 22:27:39 +00:00
Merge pull request #479 from orchestra-ts/master
Update typings definition file for TypeScript.
This commit is contained in:
commit
65f431b7b0
40
src/jquery.autocomplete.d.ts
vendored
40
src/jquery.autocomplete.d.ts
vendored
@ -1,40 +0,0 @@
|
||||
|
||||
interface JQueryAutocompleteOptions {
|
||||
serviceUrl?: string;
|
||||
lookup?: AutocompleteSuggestion[];
|
||||
lookupFilter? (suggestion: AutocompleteSuggestion, query: string, queryLowercase: string): any;
|
||||
onSelect? (suggestion: AutocompleteSuggestion): void;
|
||||
minChars: number;
|
||||
maxHeight: number;
|
||||
deferRequestBy?: number;
|
||||
width?: number;
|
||||
params?: Object;
|
||||
formatResult? (suggestion: AutocompleteSuggestion, currentValue: string): string;
|
||||
delimiter?: any;
|
||||
zIndex?: number;
|
||||
type?: string;
|
||||
noCache?: bool;
|
||||
onSearchStart? (query: string): void;
|
||||
onSearchComplete? (query: string): void;
|
||||
tabDisabled?: bool;
|
||||
paramName?: string;
|
||||
transformResult? (response: any, originalQuery: string): AutocompleteSuggestion[];
|
||||
autoSelectFirst?: bool;
|
||||
appendTo: any;
|
||||
dataType: string;
|
||||
}
|
||||
|
||||
interface AutocompleteSuggestion {
|
||||
value: string;
|
||||
data: any;
|
||||
}
|
||||
|
||||
interface AutocompleteInstance {
|
||||
setOptions(options: JQueryAutocompleteOptions): void;
|
||||
clear(): void;
|
||||
clearCache(): void;
|
||||
disable(): void;
|
||||
enable(): void;
|
||||
hide(): void;
|
||||
dispose(): void;
|
||||
}
|
154
typings/jquery-autocomplete/jquery.autocomplete-tests.ts
Normal file
154
typings/jquery-autocomplete/jquery.autocomplete-tests.ts
Normal file
@ -0,0 +1,154 @@
|
||||
///<reference path="../jquery/jquery.d.ts" />
|
||||
///<reference path="../jquery-autocomplete/jquery.autocomplete.d.ts" />
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// --------------------------------- WEBSITE EXAMPLE --------------------------------------
|
||||
// ---------- https://www.devbridge.com/sourcery/components/jquery-autocomplete/ ----------
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
var input = $('#autocomplete');
|
||||
var options = {};
|
||||
|
||||
input.autocomplete('disable');
|
||||
input.autocomplete('setOptions', options);
|
||||
|
||||
input.autocomplete().disable();
|
||||
input.autocomplete().setOptions(options);
|
||||
|
||||
// Ajax lookup:
|
||||
input.autocomplete({
|
||||
serviceUrl: '/autocomplete/countries',
|
||||
onSelect: function (suggestion) {
|
||||
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
|
||||
}
|
||||
});
|
||||
|
||||
// Local lookup (no ajax):
|
||||
var countries = [
|
||||
{ value: 'Andorra', data: 'AD' },
|
||||
// ...
|
||||
{ value: 'Zimbabwe', data: 'ZZ' }
|
||||
];
|
||||
|
||||
input.autocomplete({
|
||||
lookup: countries,
|
||||
onSelect: function (suggestion) {
|
||||
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
|
||||
}
|
||||
});
|
||||
|
||||
// Non standard query/results
|
||||
input.autocomplete({
|
||||
paramName: 'searchString',
|
||||
transformResult: function(response: any, originalQuery: string): AutocompleteResponse {
|
||||
return {
|
||||
suggestions: $.map(response.myData, function (dataItem) {
|
||||
return {value: dataItem.valueField, data: dataItem.dataField};
|
||||
})
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// ------------------------------ TEST INSTANCE METHODS -----------------------------------
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
input.autocomplete().setOptions(options);
|
||||
input.autocomplete().clear();
|
||||
input.autocomplete().clearCache();
|
||||
input.autocomplete().disable();
|
||||
input.autocomplete().enable();
|
||||
input.autocomplete().hide();
|
||||
input.autocomplete().dispose();
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// ------------------------------ TEST DEFAULT OPTIONS ------------------------------------
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
input.autocomplete({
|
||||
|
||||
//----------------o AJAX SETTINGS
|
||||
|
||||
serviceUrl: '/autocomplete/countries',
|
||||
type: 'GET',
|
||||
dataType: 'text',
|
||||
paramName: 'query',
|
||||
params: {},
|
||||
deferRequestBy: 0,
|
||||
ajaxSettings: {},
|
||||
|
||||
//----------------o CONFIG SETTINGS
|
||||
|
||||
noCache: false,
|
||||
delimiter: "-",
|
||||
onSearchStart(query: string) {
|
||||
console.log("query: ", query);
|
||||
},
|
||||
onSearchComplete(query: string, suggestions: AutocompleteSuggestion[]) {
|
||||
console.log("query: ", query);
|
||||
console.log("suggestions: ", suggestions);
|
||||
},
|
||||
onSearchError(query: string, jqXHR: JQueryXHR, textStatus: string, errorThrown: any) {
|
||||
console.log("query: ", query);
|
||||
console.log("jqXHR: ", jqXHR);
|
||||
console.log("textStatus: ", textStatus);
|
||||
console.log("errorThrown: ", errorThrown);
|
||||
},
|
||||
transformResult(response: any, originalQuery: string): AutocompleteResponse {
|
||||
return {
|
||||
suggestions: [
|
||||
{ value: 'Andorra', data: 'AD' },
|
||||
// ...
|
||||
{ value: 'Zimbabwe', data: 'ZZ' }
|
||||
]
|
||||
}
|
||||
},
|
||||
onSelect(suggestion: AutocompleteSuggestion) {
|
||||
console.log("suggestions: ", suggestion);
|
||||
},
|
||||
minChars: 1,
|
||||
lookupLimit: 1,
|
||||
lookup: [
|
||||
{ value: 'Andorra', data: 'AD' },
|
||||
// ...
|
||||
{ value: 'Zimbabwe', data: 'ZZ' }
|
||||
],
|
||||
lookupFilter(suggestion: AutocompleteSuggestion, query: string, queryLowercase: string): any {
|
||||
return query !== "query"
|
||||
},
|
||||
triggerSelectOnValidInput: true,
|
||||
preventBadQueries: true,
|
||||
autoSelectFirst: false,
|
||||
onHide(container: any) {
|
||||
console.log("container: ", container);
|
||||
},
|
||||
|
||||
//----------------o PRESENTATION SETTINGS
|
||||
|
||||
beforeRender(container: any) {
|
||||
console.log("container: ", container);
|
||||
},
|
||||
formatResult(suggestion: AutocompleteSuggestion, currentValue: string): string {
|
||||
return currentValue;
|
||||
},
|
||||
groupBy: [
|
||||
{ value: 'Chicago Blackhawks', data: { category: 'NHL' } },
|
||||
{ value: 'Chicago Bulls', data: { category: 'NBA' } }
|
||||
],
|
||||
maxHeight: 300,
|
||||
width: "auto",
|
||||
zIndex: 9999,
|
||||
appendTo: document.body,
|
||||
forceFixPosition: false,
|
||||
orientation: "bottom",
|
||||
preserveInput: false,
|
||||
showNoSuggestionNotice: false,
|
||||
noSuggestionNotice: "No results",
|
||||
onInvalidateSelection() {
|
||||
console.log("onInvalidateSelection");
|
||||
},
|
||||
tabDisabled: false
|
||||
});
|
357
typings/jquery-autocomplete/jquery.autocomplete.d.ts
vendored
Normal file
357
typings/jquery-autocomplete/jquery.autocomplete.d.ts
vendored
Normal file
@ -0,0 +1,357 @@
|
||||
// Type definitions for jQuery-Autocomplete 1.2.24
|
||||
// Project: https://www.devbridge.com/sourcery/components/jquery-autocomplete/
|
||||
// Definitions by: John Gouigouix <https://github.com/orchestra-ts/DefinitelyTyped/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="../jquery/jquery.d.ts"/>
|
||||
|
||||
interface AutocompleteSuggestion {
|
||||
|
||||
value: string;
|
||||
data: any;
|
||||
|
||||
}
|
||||
|
||||
interface AutocompleteResponse {
|
||||
|
||||
suggestions: AutocompleteSuggestion[];
|
||||
|
||||
}
|
||||
|
||||
interface JQueryAutocompleteOptions {
|
||||
|
||||
//----------------o AJAX SETTINGS
|
||||
|
||||
/**
|
||||
* Server side URL or callback function that returns serviceUrl string. Optional if local lookup data is provided.
|
||||
*/
|
||||
serviceUrl?: string;
|
||||
|
||||
/**
|
||||
* Ajax request type to get suggestions.
|
||||
* @default "GET"
|
||||
*/
|
||||
type?: string;
|
||||
|
||||
/**
|
||||
* type of data returned from server. Either text, json or jsonp, which will cause the autocomplete to use jsonp.
|
||||
* You may return a json object in your callback when using jsonp.
|
||||
* @default "text"
|
||||
*/
|
||||
dataType?: "text" | "json" | "jsonp";
|
||||
|
||||
/**
|
||||
* The name of the request parameter that contains the query.
|
||||
* @default "query"
|
||||
*/
|
||||
paramName?: string;
|
||||
|
||||
/**
|
||||
* Additional parameters to pass with the request, optional.
|
||||
*/
|
||||
params?: Object;
|
||||
|
||||
/**
|
||||
* Number of miliseconds to defer ajax request.
|
||||
* @default 0
|
||||
*/
|
||||
deferRequestBy?: number;
|
||||
|
||||
/**
|
||||
* Any additional Ajax Settings that configure the jQuery Ajax request.
|
||||
*/
|
||||
ajaxSettings?: JQueryAjaxSettings;
|
||||
|
||||
|
||||
//----------------o CONFIG SETTINGS
|
||||
|
||||
/**
|
||||
* Boolean value indicating whether to cache suggestion results.
|
||||
* @default false
|
||||
*/
|
||||
noCache?: boolean;
|
||||
|
||||
/**
|
||||
* That splits input value and takes last part to as query for suggestions.
|
||||
* Useful when for example you need to fill list of coma separated values.
|
||||
*/
|
||||
delimiter?: string | RegExp;
|
||||
|
||||
/**
|
||||
* Called before ajax request. this is bound to input element.
|
||||
* @param query
|
||||
*/
|
||||
onSearchStart? (query: string): void;
|
||||
|
||||
/**
|
||||
* Called after ajax response is processed. this is bound to input element.
|
||||
* Suggestions is an array containing the results.
|
||||
* @param query
|
||||
* @param suggestions
|
||||
*/
|
||||
onSearchComplete? (query: string, suggestions: AutocompleteSuggestion[]): void;
|
||||
|
||||
/**
|
||||
* Called if ajax request fails. this is bound to input element.
|
||||
* @param query
|
||||
* @param jqXHR
|
||||
* @param textStatus
|
||||
* @param errorThrown
|
||||
*/
|
||||
onSearchError? (query: string, jqXHR: JQueryXHR, textStatus: string, errorThrown: any): void;
|
||||
|
||||
/**
|
||||
* Called after the result of the query is ready. Converts the result into response.suggestions format.
|
||||
* @param response
|
||||
* @param originalQuery
|
||||
*/
|
||||
transformResult? (response: any, originalQuery: string): AutocompleteResponse;
|
||||
|
||||
/**
|
||||
* Callback function invoked when user selects suggestion from the list.
|
||||
* This inside callback refers to input HtmlElement.
|
||||
* @param suggestion
|
||||
*/
|
||||
onSelect? (suggestion: AutocompleteSuggestion): void;
|
||||
|
||||
/**
|
||||
* Minimum number of characters required to trigger autosuggest.
|
||||
* @default 1
|
||||
*/
|
||||
minChars?: number;
|
||||
|
||||
/**
|
||||
* Number of maximum results to display for local lookup.
|
||||
* @default no limit
|
||||
*/
|
||||
lookupLimit?: number;
|
||||
|
||||
/**
|
||||
* Callback function or lookup array for the suggestions. It may be array of strings or suggestion object literals.
|
||||
* -> suggestion: An object literal with the following format: { value: 'string', data: any }.
|
||||
*/
|
||||
lookup?: AutocompleteSuggestion[];
|
||||
|
||||
/**
|
||||
* Filter function for local lookups. By default it does partial string match (case insensitive).
|
||||
* @param suggestion
|
||||
* @param query
|
||||
* @param queryLowercase
|
||||
*/
|
||||
lookupFilter? (suggestion: AutocompleteSuggestion, query: string, queryLowercase: string): any;
|
||||
|
||||
/**
|
||||
* Boolean value indicating if select should be triggered if it matches suggestion.
|
||||
* @default true
|
||||
*/
|
||||
triggerSelectOnValidInput?: boolean;
|
||||
|
||||
/**
|
||||
* Boolean value indicating if it shoud prevent future ajax requests for queries with the same root if no results were returned.
|
||||
* E.g. if Jam returns no suggestions, it will not fire for any future query that starts with Jam.
|
||||
* @default true
|
||||
*/
|
||||
preventBadQueries?: boolean;
|
||||
|
||||
/**
|
||||
* If set to true, first item will be selected when showing suggestions.
|
||||
* @default false
|
||||
*/
|
||||
autoSelectFirst?: boolean;
|
||||
|
||||
/**
|
||||
* Called before container will be hidden
|
||||
* @param container
|
||||
*/
|
||||
onHide? (container: any): void;
|
||||
|
||||
|
||||
//----------------o PRESENTATION SETTINGS
|
||||
|
||||
/**
|
||||
* Called before displaying the suggestions. You may manipulate suggestions DOM before it is displayed.
|
||||
* @param container
|
||||
*/
|
||||
beforeRender? (container: any): void;
|
||||
|
||||
/**
|
||||
* Custom function to format suggestion entry inside suggestions container, optional.
|
||||
* @param suggestion
|
||||
* @param currentValue
|
||||
*/
|
||||
formatResult? (suggestion: AutocompleteSuggestion, currentValue: string): string;
|
||||
|
||||
/**
|
||||
* Property name of the suggestion data object, by which results should be grouped.
|
||||
*/
|
||||
groupBy?: AutocompleteSuggestion | AutocompleteSuggestion[];
|
||||
/**
|
||||
* Maximum height of the suggestions container in pixels.
|
||||
* @default 300
|
||||
*/
|
||||
maxHeight?: number;
|
||||
|
||||
/**
|
||||
* Suggestions container width in pixels, e.g.: 300. takes input field width.
|
||||
* @default "auto"
|
||||
*/
|
||||
width?: string | number;
|
||||
|
||||
/**
|
||||
* 'z-index' for suggestions container.
|
||||
* @default 9999
|
||||
*/
|
||||
zIndex?: number;
|
||||
|
||||
/**
|
||||
* Container where suggestions will be appended. Can be jQuery object, selector or html element.
|
||||
* Make sure to set position: absolute or position: relative for that element.
|
||||
* @default document.body
|
||||
*/
|
||||
appendTo?: any;
|
||||
|
||||
/**
|
||||
* Suggestions are automatically positioned when their container is appended to body (look at appendTo option),
|
||||
* in other cases suggestions are rendered but no positioning is applied.
|
||||
* Set this option to force auto positioning in other cases.
|
||||
* @default false
|
||||
*/
|
||||
forceFixPosition?: boolean;
|
||||
|
||||
/**
|
||||
* Vertical orientation of the displayed suggestions, available values are auto, top, bottom.
|
||||
* If set to auto, the suggestions will be orientated it the way that place them closer to middle of the view port.
|
||||
* @default "bottom"
|
||||
*/
|
||||
orientation?: "bottom" | "auto" | "top"
|
||||
|
||||
/**
|
||||
* If true, input value stays the same when navigating over suggestions.
|
||||
* @default false
|
||||
*/
|
||||
preserveInput?: boolean;
|
||||
|
||||
/**
|
||||
* When no matching results, display a notification label.
|
||||
* @default false
|
||||
*/
|
||||
showNoSuggestionNotice?: boolean;
|
||||
|
||||
/**
|
||||
* Text or htmlString or Element or jQuery object for no matching results label.
|
||||
* @default "No results"
|
||||
*/
|
||||
noSuggestionNotice?: string | Element | JQuery;
|
||||
|
||||
/**
|
||||
* Called when input is altered after selection has been made. this is bound to input element.
|
||||
*/
|
||||
onInvalidateSelection? (): void;
|
||||
|
||||
/**
|
||||
* Set to true to leave the cursor in the input field after the user tabs to select a suggestion.
|
||||
* @default false
|
||||
*/
|
||||
tabDisabled?: boolean;
|
||||
|
||||
}
|
||||
|
||||
interface AutocompleteInstance {
|
||||
|
||||
/**
|
||||
* you may update any option at any time. Options are listed above.
|
||||
* @param options
|
||||
*/
|
||||
setOptions(options: JQueryAutocompleteOptions): void;
|
||||
|
||||
/**
|
||||
* clears suggestion cache and current suggestions suggestions.
|
||||
*/
|
||||
clear(): void;
|
||||
|
||||
/**
|
||||
* clears suggestion cache.
|
||||
*/
|
||||
clearCache(): void;
|
||||
|
||||
/**
|
||||
* deactivate autocomplete.
|
||||
*/
|
||||
disable(): void;
|
||||
|
||||
/**
|
||||
* activates autocomplete if it was deactivated before.
|
||||
*/
|
||||
enable(): void;
|
||||
|
||||
/**
|
||||
* hides suggestions.
|
||||
*/
|
||||
hide(): void;
|
||||
|
||||
/**
|
||||
* destroys autocomplete instance. All events are detached and suggestion containers removed.
|
||||
*/
|
||||
dispose(): void;
|
||||
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
|
||||
/**
|
||||
* Create Autocomplete component
|
||||
*/
|
||||
autocomplete(): AutocompleteInstance;
|
||||
autocomplete(options: JQueryAutocompleteOptions): AutocompleteInstance;
|
||||
|
||||
/**
|
||||
* Trigger non-specialized signature method
|
||||
* @param methodName
|
||||
* @param arg
|
||||
*/
|
||||
autocomplete(methodName: string, ...arg: any[]): any;
|
||||
|
||||
/**
|
||||
* You may update any option at any time. Options are listed above.
|
||||
* @param methodName The name of the method
|
||||
* @param options
|
||||
*/
|
||||
autocomplete(methodName: "setOptions", options: JQueryAutocompleteOptions): AutocompleteInstance;
|
||||
|
||||
/**
|
||||
* Clears suggestion cache and current suggestions suggestions.
|
||||
* @param methodName The name of the method
|
||||
*/
|
||||
autocomplete(methodName: "clear"): AutocompleteInstance;
|
||||
|
||||
/**
|
||||
* Clears suggestion cache.
|
||||
* @param methodName The name of the method
|
||||
*/
|
||||
autocomplete(methodName: "clearCache"): AutocompleteInstance;
|
||||
|
||||
/**
|
||||
* Deactivate autocomplete.
|
||||
* @param methodName The name of the method
|
||||
*/
|
||||
autocomplete(methodName: "disable"): AutocompleteInstance;
|
||||
|
||||
/**
|
||||
* Activates autocomplete if it was deactivated before.
|
||||
* @param methodName The name of the method
|
||||
*/
|
||||
autocomplete(methodName: "enable"): AutocompleteInstance;
|
||||
|
||||
/**
|
||||
* Hides suggestions.
|
||||
* @param methodName The name of the method
|
||||
*/
|
||||
autocomplete(methodName: "hide"): AutocompleteInstance;
|
||||
|
||||
/**
|
||||
* Destroys autocomplete instance. All events are detached and suggestion containers removed.
|
||||
* @param methodName The name of the method
|
||||
*/
|
||||
autocomplete(methodName: "dispose"): AutocompleteInstance;
|
||||
|
||||
}
|
3221
typings/jquery/jquery.d.ts
vendored
Normal file
3221
typings/jquery/jquery.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user