From 3da6ba8845524ccc975369792772f232dad80f0a Mon Sep 17 00:00:00 2001 From: vfernandez Date: Mon, 8 Feb 2016 15:18:37 +0100 Subject: [PATCH] Updated select2 definition for v4.0.1 --- select2/select2.d.ts | 380 ++++++++++++++++++++++--------------------- 1 file changed, 191 insertions(+), 189 deletions(-) diff --git a/select2/select2.d.ts b/select2/select2.d.ts index 0752ddf98..8309a366d 100644 --- a/select2/select2.d.ts +++ b/select2/select2.d.ts @@ -1,189 +1,191 @@ -// Type definitions for Select2 3.2 -// Project: http://ivaynberg.github.com/select2/ -// Definitions by: Boris Yankov -// Definitions: https://github.com/borisyankov/DefinitelyTyped - - -/// - -interface Select2QueryOptions { - term?: string; - page?: number; - context?: any; - callback?: (result: { results: any; more?: boolean; context?: any; }) => void; -} - -interface AjaxFunction { - (settings: JQueryAjaxSettings): JQueryXHR; - (url: string, settings?: JQueryAjaxSettings): JQueryXHR; -} - -interface Select2AjaxOptions { - transport?: AjaxFunction; - /** - * Url to make request to, Can be string or a function returning a string. - */ - url?: any; - dataType?: string; - quietMillis?: number; - cache?: boolean; - data?: (term: string, page: number, context: any) => any; - results?: (term: any, page: number, context: any) => any; -} - -interface IdTextPair { - id: any; - text: string; -} - -interface Select2Options { - width?: string; - dropdownAutoWidth?: boolean; - minimumInputLength?: number; - minimumResultsForSearch?: number; - maximumSelectionSize?: number; - placeholder?: string; - separator?: string; - allowClear?: boolean; - multiple?: boolean; - closeOnSelect?: boolean; - openOnEnter?: boolean; - id?: (object: any) => string; - matcher?: (term: string, text: string, option: any) => boolean; - formatSelection?: (object: any, container: JQuery, escapeMarkup:(markup: string) => string) => string; - formatResult?: (object: any, container: JQuery, query: any, escapeMarkup: (markup: string) => string) => string; - formatResultCssClass?: (object: any) => string; - formatNoMatches?: (term: string) => string; - formatSearching?: () => string; - formatInputTooShort?: (term: string, minLength: number) => string; - formatSelectionTooBig?: (maxSize: number) => string; - formatLoadMore?: (pageNumber: number) => string; - createSearchChoice?: (term: string, data: any) => any; - initSelection?: (element: JQuery, callback: (data: any) => void ) => void; - tokenizer?: (input: string, selection: any[], selectCallback: () => void , options: Select2Options) => string; - tokenSeparators?: string[]; - query?: (options: Select2QueryOptions) => void; - ajax?: Select2AjaxOptions; - data?: any; - tags?: any; - containerCss?: any; - containerCssClass?: any; - dropdownCss?: any; - dropdownCssClass?: any; - escapeMarkup?: (markup: string) => string; - theme?: string; - /** - * Template can return both plain string that will be HTML escaped and a jquery object that can render HTML - */ - templateSelection?: (object: Select2SelectionObject) => any; - templateResult?: (object: Select2SelectionObject) => any; -} - -interface Select2JQueryEventObject extends JQueryEventObject { - val: any; - added: any; - removed: any; - choice: { - id: any; - text: string; - }; -} - -interface Select2SelectionObject { - disabled: boolean, - element: HTMLOptionElement, - id: string, - selected: boolean, - text: string, - title: string, -} - -interface JQuery { - off(events?: "change", selector?: any, handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - - on(events: "change", selector?: string, data?: any, handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "change", selector?: string, handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "change", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-opening", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-open", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-close", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-highlight", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-selecting", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-removing", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-removed", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-loaded", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-focus", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-blur", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-opening", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-open", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-close", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-highlight", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-selecting", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-removing", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-removed", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-loaded", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-focus", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - on(events: "select2-blur", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; - - select2(): JQuery; - select2(it: IdTextPair): JQuery; - - /** - * Get the id value of the current selection - */ - select2(method: 'val'): any; - /** - * Set the id value of the current selection - * @params value Value to set the id to - * @params triggerChange Should a change event be triggered - */ - select2(method: 'val', value: any, triggerChange?: boolean): any; - /** - * Get the data object of the current selection - */ - select2(method: 'data'): any; - /** - * Set the data of the current selection - * @params value Object to set the data to - * @params triggerChange Should a change event be triggered - */ - select2(method: 'data', value: any, triggerChange?: boolean): any; - /** - * Reverts changes to DOM done by Select2. Any selection done via Select2 will be preserved. - */ - select2(method: 'destroy'): JQuery; - /** - * Opens the dropdown - */ - select2(method: 'open'): JQuery; - /** - * Closes the dropdown - */ - select2(method: 'close'): JQuery; - /** - * Enables or disables Select2 and its underlying form component - * @param value True if it should be enabled false if it should be disabled - */ - select2(method: 'enable', value: boolean): JQuery; - /** - * Toggles readonly mode on Select2 and its underlying form component - * @param value True if it should be readonly false if it should be read write - */ - select2(method: 'readonly', value: boolean): JQuery; - /** - * Retrieves the main container element that wraps all of DOM added by Select2 - */ - select2(method: 'container'): JQuery; - /** - * Notifies Select2 that a drag and drop sorting operation has started - */ - select2(method: 'onSortStart'): JQuery; - /** - * Notifies Select2 that a drag and drop sorting operation has finished - */ - select2(method: 'onSortEnd'): JQuery; - - select2(method: string): any; - select2(method: string, value: any, trigger?: boolean): any; - select2(options: Select2Options): JQuery; -} +// Type definitions for Select2 4.0.1 +// Project: http://ivaynberg.github.com/select2/ +// Definitions by: Boris Yankov +// Definitions: https://github.com/borisyankov/DefinitelyTyped + + +/// + +interface Select2QueryOptions { + term?: string; + page?: number; + context?: any; + callback?: (result: { results: any; more?: boolean; context?: any; }) => void; +} + +interface AjaxFunction { + (settings: JQueryAjaxSettings): JQueryXHR; + (url: string, settings?: JQueryAjaxSettings): JQueryXHR; +} + +interface Select2AjaxOptions { + transport?: AjaxFunction; + /** + * Url to make request to, Can be string or a function returning a string. + */ + url?: any; + dataType?: string; + quietMillis?: number; + cache?: boolean; + data?: (term: string, page: number, context: any) => any; + results?: (term: any, page: number, context: any) => any; +} + +interface IdTextPair { + id: any; + text: string; +} + +interface Select2Options { + width?: string; + dropdownAutoWidth?: boolean; + minimumInputLength?: number; + minimumResultsForSearch?: number; + maximumSelectionSize?: number; + placeholder?: string; + separator?: string; + allowClear?: boolean; + multiple?: boolean; + closeOnSelect?: boolean; + openOnEnter?: boolean; + id?: (object: any) => string; + matcher?: (term: string, text: string, option: any) => boolean; + formatSelection?: (object: any, container: JQuery, escapeMarkup:(markup: string) => string) => string; + formatResult?: (object: any, container: JQuery, query: any, escapeMarkup: (markup: string) => string) => string; + formatResultCssClass?: (object: any) => string; + formatNoMatches?: (term: string) => string; + formatSearching?: () => string; + formatInputTooShort?: (term: string, minLength: number) => string; + formatSelectionTooBig?: (maxSize: number) => string; + formatLoadMore?: (pageNumber: number) => string; + createSearchChoice?: (term: string, data: any) => any; + initSelection?: (element: JQuery, callback: (data: any) => void ) => void; + tokenizer?: (input: string, selection: any[], selectCallback: () => void , options: Select2Options) => string; + tokenSeparators?: string[]; + query?: (options: Select2QueryOptions) => void; + ajax?: Select2AjaxOptions; + data?: any; + tags?: any; + containerCss?: any; + containerCssClass?: any; + dropdownCss?: any; + dropdownCssClass?: any; + escapeMarkup?: (markup: string) => string; + theme?: string; + /** + * Template can return both plain string that will be HTML escaped and a jquery object that can render HTML + */ + templateSelection?: (object: Select2SelectionObject) => any; + templateResult?: (object: Select2SelectionObject) => any; + language?: string; +} + +interface Select2JQueryEventObject extends JQueryEventObject { + val: any; + added: any; + removed: any; + choice: { + id: any; + text: string; + }; +} + +interface Select2SelectionObject { + loading: boolean, + disabled: boolean, + element: HTMLOptionElement, + id: string, + selected: boolean, + text: string, + title: string, +} + +interface JQuery { + off(events?: "change", selector?: any, handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + + on(events: "change", selector?: string, data?: any, handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "change", selector?: string, handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "change", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-opening", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-open", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-close", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-highlight", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-selecting", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-removing", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-removed", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-loaded", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-focus", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-blur", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-opening", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-open", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-close", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-highlight", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-selecting", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-removing", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-removed", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-loaded", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-focus", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + on(events: "select2-blur", handler?: (eventObject: Select2JQueryEventObject) => any): JQuery; + + select2(): JQuery; + select2(it: IdTextPair): JQuery; + + /** + * Get the id value of the current selection + */ + select2(method: 'val'): any; + /** + * Set the id value of the current selection + * @params value Value to set the id to + * @params triggerChange Should a change event be triggered + */ + select2(method: 'val', value: any, triggerChange?: boolean): any; + /** + * Get the data object of the current selection + */ + select2(method: 'data'): any; + /** + * Set the data of the current selection + * @params value Object to set the data to + * @params triggerChange Should a change event be triggered + */ + select2(method: 'data', value: any, triggerChange?: boolean): any; + /** + * Reverts changes to DOM done by Select2. Any selection done via Select2 will be preserved. + */ + select2(method: 'destroy'): JQuery; + /** + * Opens the dropdown + */ + select2(method: 'open'): JQuery; + /** + * Closes the dropdown + */ + select2(method: 'close'): JQuery; + /** + * Enables or disables Select2 and its underlying form component + * @param value True if it should be enabled false if it should be disabled + */ + select2(method: 'enable', value: boolean): JQuery; + /** + * Toggles readonly mode on Select2 and its underlying form component + * @param value True if it should be readonly false if it should be read write + */ + select2(method: 'readonly', value: boolean): JQuery; + /** + * Retrieves the main container element that wraps all of DOM added by Select2 + */ + select2(method: 'container'): JQuery; + /** + * Notifies Select2 that a drag and drop sorting operation has started + */ + select2(method: 'onSortStart'): JQuery; + /** + * Notifies Select2 that a drag and drop sorting operation has finished + */ + select2(method: 'onSortEnd'): JQuery; + + select2(method: string): any; + select2(method: string, value: any, trigger?: boolean): any; + select2(options: Select2Options): JQuery; +}