123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412 |
- // Type definitions for jQuery-Autocomplete 1.2.25
- // 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 types="jquery"/>
- 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?: { (query: string, done: { (results: AutocompleteResponse): void }): void } | string[] | 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?: string;
- /**
- * 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(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;
- /**
- * Create Autocomplete component via plugin alias
- */
- devbridgeAutocomplete(options?: JQueryAutocompleteOptions): AutocompleteInstance;
- /**
- * Trigger non-specialized signature method
- * @param methodName
- * @param arg
- */
- devbridgeAutocomplete(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
- */
- devbridgeAutocomplete(methodName: "setOptions", options: JQueryAutocompleteOptions): AutocompleteInstance;
- /**
- * Clears suggestion cache and current suggestions suggestions.
- * @param methodName The name of the method
- */
- devbridgeAutocomplete(methodName: "clear"): AutocompleteInstance;
- /**
- * Clears suggestion cache.
- * @param methodName The name of the method
- */
- devbridgeAutocomplete(methodName: "clearCache"): AutocompleteInstance;
- /**
- * Deactivate autocomplete.
- * @param methodName The name of the method
- */
- devbridgeAutocomplete(methodName: "disable"): AutocompleteInstance;
- /**
- * Activates autocomplete if it was deactivated before.
- * @param methodName The name of the method
- */
- devbridgeAutocomplete(methodName: "enable"): AutocompleteInstance;
- /**
- * Hides suggestions.
- * @param methodName The name of the method
- */
- devbridgeAutocomplete(methodName: "hide"): AutocompleteInstance;
- /**
- * Destroys autocomplete instance. All events are detached and suggestion containers removed.
- * @param methodName The name of the method
- */
- devbridgeAutocomplete(methodName: "dispose"): AutocompleteInstance;
- }
|