diff --git a/types/homeworks/homeworks-tests.ts b/types/homeworks/homeworks-tests.ts index 16bce6d106..5c41b7fffc 100644 --- a/types/homeworks/homeworks-tests.ts +++ b/types/homeworks/homeworks-tests.ts @@ -1,33 +1,38 @@ const element: JQuery = $('#element'); const target: JQuery = $('#target'); +homeworks.disableHook(); + element.checkbox({ - /* Empty options */ -}).bind('change', (event: HomeWorksEventObject) => { - /* HomeWorks native event */ -}); + /* Empty options */ +}) + .on('change', (event: JQuery.Event) => { + /* HomeWorks native event */ + }); element.converter({ - /* Empty options */ + /* Empty options */ }); element.dropdown({ - /* Empty options */ + /* Empty options */ }); const dropdownHandlerTarget: JQuery = element.addHandler(target); element.input({ - /* Empty options */ -}).bind('change', (event: HomeWorksEventObject) => { - /* HomeWorks native event */ -}); + /* Empty options */ +}) + .on('change', (event: JQuery.Event) => { + /* HomeWorks native event */ + }); element.modal({ - /* Any options */ -}).each(() => { - /* Chaining */ -}); + /* Any options */ +}) + .each(() => { + /* Chaining */ + }); element.modal('show'); element.modal('hide'); element.modal('open'); @@ -35,59 +40,70 @@ element.modal('close'); notification('title', 'content', 'url', 'success'); -element.ripple({ - /* Object options */ -}); -element.start({ - x: 1, - y: 2 -}); +element + .ripple({ + /* Object options */ + }) + .on('start', (event: homeworks.RippleEvent) => { + }); + +element + .start({ + x: 1, + y: 2 + }); element.spinner({ - type: 'any', - empty: 'any' -}).bind('change', (event: HomeWorksEventObject) => { - /* HomeWorks native event */ -}); - -element.step('method'); -element.step({ - active: 0 -}).bind('move', (event: HomeWorksStepEventObject) => { - /* HomeWorks step event */ -}); + type: 'any', + empty: 'any' +}) + .on('change', (event: JQuery.Event) => { + /* HomeWorks native event */ + }); element.tab('method'); element.tab({ - active: 0 -}).bind('move', (event: HomeWorksTabEventObject) => { - /* HomeWorks step event */ -}); + active: 0 +}) + .on('move', (event: homeworks.TabEvent) => { + /* HomeWorks step event */ + }); + +element.step('method'); +element.step({ + active: 0 +}) + .on('move', (event: homeworks.StepEvent) => { + /* HomeWorks step event */ + }); toast('hello homeworks'); toast({ - message: 'hello homeworks' + message: 'hello homeworks' }); -element.toggle({ - placeholder: 'placeholder' -}).bind('change', (event: HomeWorksEventObject) => { - /* HomeWorks native event */ -}); +element + .toggle({ + placeholder: 'placeholder' + }) + .on('change', (event: JQuery.Event) => { + /* HomeWorks native event */ + }); -element.upload({ - url: 'url', - type: 'type', - data: {}, - dest: 'dest', - isBtn: true, - beforeStart() { - }, - complete(data: any) { - }, - success(data?: any, state?: any, xhr?: any) { - }, - error(xhr?: any, state?: any, error?: any) { - }, - extensions: 'any' -}); +element + .upload({ + url: 'url', + type: 'type', + data: {}, + dest: 'dest', + isBtn: true, + beforeStart() { + }, + complete(data: any) { + }, + success(data?: any, state?: any, xhr?: any) { + }, + error(xhr?: any, state?: any, error?: any) { + }, + extensions: 'any' + }); diff --git a/types/homeworks/index.d.ts b/types/homeworks/index.d.ts index 4449483d35..7a25666659 100644 --- a/types/homeworks/index.d.ts +++ b/types/homeworks/index.d.ts @@ -6,208 +6,242 @@ /// -/** - * * [MAIN] - * @ EVENT - * - */ +type _NativeEvent = Event; -declare interface HomeWorksEventObject { - element: JQuery; - value: string; - checked?: boolean; -} +interface JQuery { + /** + * jQuery homeworks chaining functions + */ -declare interface JQuery { + /** + * @since 1.0.0 + */ bind(eventType: string, handler: (...parameters: any[]) => void): JQuery; + /** + * @since 1.0.0 + */ knock(): JQuery; -} - -/** - * * [COMPONENT] - * @ CHECKBOX - * - */ -interface CheckboxOptions { -} - -declare interface JQuery { - checkbox(options?: CheckboxOptions): JQuery; -} - -/** - * * [COMPONENT] - * @ CONVERTER - * - */ - -interface ConverterOptions { -} - -declare interface JQuery { - converter(options?: ConverterOptions): JQuery; -} - -/** - * * [COMPONENT] - * @ DROPDOIWN - * - */ - -interface DropdownOptions { -} - -declare interface JQuery { - dropdown(options?: DropdownOptions): JQuery; - addHandler(target: JQuery): JQuery; -} - -/** - * * [COMPONENT] - * @ INPUT - * - */ - -interface InputOptions { -} - -declare interface JQuery { - input(options?: InputOptions): JQuery; -} - -/** - * * [COMPONENT] - * @ MODAL - * - */ - -declare interface JQuery { - modal(options?: any): JQuery; - modal(method?: string, options?: any): JQuery; -} - -/** - * * [COMPONENT] - * @ NOTIFICATION - * - */ - -declare function notification(title: string, content: string, url: string, status?: string): void; - -/** - * * [COMPONENT] - * @ RIPPLE - * - */ - -interface RippleStartOptions { - x: number; - y: number; -} - -declare interface JQuery { + /** + * @since 1.0.0 + */ + checkbox(options?: homeworks.CheckboxOptions): JQuery; + /** + * @since 1.0.0 + */ + converter(options?: homeworks.ConverterOptions): JQuery; + /** + * @since 1.0.0 + */ + spinner(options?: homeworks.SpinnerOptions): JQuery; + /** + * @since 1.0.0 + */ + dropdown(options?: homeworks.DropdownOptions): JQuery; + /** + * @since 1.0.0 + */ ripple(options?: any): JQuery; - start(options?: RippleStartOptions): JQuery; -} - -/** - * * [COMPONENT] - * @ SPINNER - * - */ - -interface SpinnerOptions { - type?: any; - empty?: any; -} - -declare interface JQuery { - spinner(options?: SpinnerOptions): JQuery; -} - -/** - * * [COMPONENT] - * @ STEP - * - */ - -interface StepOptions { - active?: number; -} - -declare interface JQuery { - step(method?: string): JQuery; - step(options?: StepOptions): JQuery; -} - -declare interface HomeWorksStepEventObject { - header: JQuery[]; - index: number; - length: number; -} - -/** - * * [COMPONENT] - * @ TAB - * - */ - -interface TabOptions { - active?: number; -} - -declare interface JQuery { + /** + * @since 1.0.0 + */ + input(options?: homeworks.InputOptions): JQuery; + /** + * @since 1.0.0 + */ + modal(options?: any): JQuery; + /** + * @since 1.0.0 + */ + modal(method?: string, options?: any): JQuery; + /** + * @since 1.0.0 + */ tab(method?: string): JQuery; - tab(options?: TabOptions): JQuery; -} + /** + * @since 1.0.0 + */ + tab(options?: homeworks.TabOptions): JQuery; + /** + * @since 1.0.0 + */ + step(method?: string): JQuery; + /** + * @since 1.0.0 + */ + step(options?: homeworks.StepOptions): JQuery; + /** + * @since 1.0.0 + */ + toggle(options: homeworks.ToggleOptions): JQuery; + /** + * @since 1.0.0 + */ + upload(options?: homeworks.UploadOptions): JQuery; + /** + * @since 1.0.0 + * @summary dropdown method + */ + addHandler(target: JQuery): JQuery; + /** + * @since 1.0.0 + * @summary ripple method + */ + start(event?: homeworks.RippleEvent): JQuery; -declare interface HomeWorksTabEventObject { - header: JQuery[]; - index: number; - length: number; + /** + * jQuery homeworks events + */ + + /** + * @since 1.0.44 + */ + on(event: homeworks.TabMoveEventType, handler: JQuery.EventHandlerBase): JQuery; + /** + * @since 1.0.44 + */ + on(event: homeworks.StepMoveEventType, handler: JQuery.EventHandlerBase): JQuery; + /** + * @since 1.0.44 + */ + on(event: homeworks.RippleStartEventType, handler: JQuery.EventHandlerBase): JQuery; } /** - * * [COMPONENT] - * @ TOAST - * + * @since 1.0.44 */ +declare function notification( + title: string, + content: string, + url: string, + status?: string): void; +/** + * @since 1.0.44 + */ declare function toast(message: any): void; -/** - * * [COMPONENT] - * @ TOGGLE - * - */ +declare namespace homeworks { + /** + * @since 1.0.0 + */ + interface CheckboxOptions { + } -interface ToggleOptions { - placeholder?: string; -} - -declare interface JQuery { - toggle(options: ToggleOptions): JQuery; -} - -/** - * * [COMPONENT] - * @ UPLOAD - * - */ - -interface UploadOptions { - url: string; - type?: string; - data?: any; - dest?: string; - isBtn?: boolean; - beforeStart?: () => void; - complete?: (data?: any) => void; - success?: (data?: any, state?: any, xhr?: any) => void; - error?: (xhr?: any, state?: any, error?: any) => void; - extensions?: any; -} - -declare interface JQuery { - upload(options?: UploadOptions): JQuery; + /** + * @since 1.0.0 + */ + interface ConverterOptions { + } + + /** + * @since 1.0.0 + */ + interface DropdownOptions { + } + + /** + * @since 1.0.0 + */ + interface InputOptions { + } + + /** + * @since 1.0.0 + */ + interface ToggleOptions { + placeholder?: string; + } + + /** + * @since 1.0.0 + */ + interface UploadOptions { + url: string; + type?: string; + data?: any; + dest?: string; + isBtn?: boolean; + beforeStart?: () => void; + complete?: (data?: any) => void; + success?: (data?: any, state?: any, xhr?: any) => void; + error?: (xhr?: any, state?: any, error?: any) => void; + extensions?: any; + } + + /** + * @since 1.0.0 + */ + interface SpinnerOptions { + type?: any; + empty?: any; + } + + /** + * @since 1.0.0 + */ + interface StepOptions { + active?: number; + } + + /** + * @since 1.0.0 + */ + interface TabOptions { + active?: number; + } + + /** + * @since 1.0.44 + */ + interface Event { + element: JQuery; + value: string | string[] | number; + checked?: boolean; + } + + /** + * @since 1.0.44 + */ + interface StepEvent { + header: JQuery[]; + index: number; + length: number; + } + + /** + * @since 1.0.44 + */ + interface TabEvent { + header: JQuery[]; + index: number; + length: number; + } + + /** + * @since 1.0.44 + */ + interface RippleEvent { + x: number; + y: number; + } + + /** + * @since 1.0.0 + */ + type TabMoveEventType = 'move'; + + /** + * @since 1.0.0 + */ + type StepMoveEventType = 'move'; + + /** + * @since 1.0.0 + */ + type RippleStartEventType = 'start'; + + /** + * @since 1.0.44 + */ + function disableHook(): void; }