22

I have just downloaded the TypeScript documentation. I have a some JavaScript classes and I would like to create and use these class in a TypeScript test application

How can I call a JavaScript function of an included JavaScript from TypeScript. I do not want to create a "d.ts" file. Just to create my classes, call its methods, access its properties.

How do I do that?


I am trying to use kendoUI with TypeScript.

For instance to show a window I have to do:

  1. Have a HTML to represent the content of a window. I have a div with an id logonDialog. This div
    is initially hidden;
  2. I create the window: logonDlg.kendoWindow(logOnParams);
  3. Then using jQuery I show the div: using logonDlg.show();

Example

var logonDlg = $("logonDialog");

if (!logonDlg.data("kendoWindow")) {
   logonDlg.kendoWindow(logOnParams);
   logonDlg.show();
}

It is working OK. The JS is generated as I want but I receive an error since The property 'kendoWindow' does not exist on value of type 'JQuery'.

How can I disable this kind of error. I could not make, what Ryan said, to work.

4 Answers 4

24

If you want to stop the errors without doing much else extra work, you can 'declare' the objects from your JS code:

declare var w; // implicit type here is 'any'
// (later, anywhere in your file...)
var x = new w(); // you can do whatever you want with w now without getting errors
w.x = 4; // etc.
Sign up to request clarification or add additional context in comments.

Comments

8

There is a better solution. Just cast the jQuery logonDlg to any like this:

(<any>logonDlg).kendoWindow(logOnParams);

The code will be a bit different but will work the same.

  1. Without the cast th generated code is like this: logonDlg.kendoWindow(logOnParams);
  2. With the cast will be like this: (logonDlg).kendoWindow(logOnParams);

Both work OK.

Regards

Comments

4

You just do it. TypeScript won't stop you. You will see warnings in the compiler output but tsc will generate your JS file just fine.

2 Comments

Thanks to all of you. I will try it soon.
this is not the case in vs2013? Building stops and i can not run my project.
4

In this particular case you could just include the Kendo UI TypeScript definitions that Telerik provides.

(I realize this question was asked back when the TS definitions probably didn't exist yet, but wanted to add this detail for people who come across this question in the future.)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.