Quantcast
Channel: Telerik Forums RSS
Viewing all articles
Browse latest Browse all 78072

Definition files correction for TypeScript

$
0
0

I propose a fix in TypeScript definition files from:

class DropDownList extends kendo.ui.Widget {
 
        static fn: DropDownList;
 
        options: DropDownListOptions;
 
        dataSource: kendo.data.DataSource;
        span: JQuery;
        filterInput: JQuery;
        list: JQuery;
        ul: JQuery;
 
        element: JQuery;
        wrapper: JQuery;
 
        static extend(proto: Object): DropDownList;
 
        constructor(element: Element, options?: DropDownListOptions);
 
 
        close(): void;
        dataItem(index?: JQuery): any;
        dataItem(index?: number): any;
        destroy(): void;
        focus(): void;
        items(): any;
        enable(enable: boolean): void;
        open(): void;
        readonly(readonly: boolean): void;
        refresh(): void;
        search(word: string): void;
        select(): number;
        select(li: JQuery): void;
        select(li: number): void;
        select(li: Function): void;
        setDataSource(dataSource: kendo.data.DataSource): void;
        text(): string;
        text(text: string): void;
        toggle(toggle: boolean): void;
        value(): string;
        value(value: string): void;
 
    }

to:

class DataBoundWidget extends Widget
{
    dataSource: kendo.data.DataSource;  //or where it should be
}
class List extends DataBoundWidget
{
    dataItem(index?: JQuery): any;  //or where it should be     
    dataItem(index?: number): any;  //or where it should be
}
class Select extends List
{
    setDataSource(dataSource: kendo.data.DataSource): void;  //or where it should be
}
class DropDownList extends Select
{
 
    static fn: DropDownList;
 
    options: DropDownListOptions;
 
    span: JQuery;
    filterInput: JQuery;
    list: JQuery;
    ul: JQuery;
 
    element: JQuery;
    wrapper: JQuery;
 
    static extend(proto: Object): DropDownList;
 
    constructor(element: Element, options?: DropDownListOptions);
 
 
    close(): void;
    destroy(): void;
    focus(): void;
    items(): any;
    enable(enable: boolean): void;
    open(): void;
    readonly(readonly: boolean): void;
    refresh(): void;
    search(word: string): void;
    select(): number;
    select(li: JQuery): void;
    select(li: number): void;
    select(li: Function): void;
    text(): string;
    text(text: string): void;
    toggle(toggle: boolean): void;
    value(): string;
    value(value: string): void;
 
}

This should make sense, since all widgets does not inherits from kendo.ui.widget as your kendo.all.d.ts file defines.

I need a type for variable that lists all widgets that implements dataSource property. I don't want to write:

functionmyFunction(implementDataSource: kendo.ui.ListView | kendo.ui.DropDownList | kendo.ui.ComboBox | kendo.ui.Grid | kendo.ui...)
{
    implementsDataSource.dataSource.data(something);
}

Viewing all articles
Browse latest Browse all 78072

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>