Search code examples
typescriptgojs

Typescript RealtimeDragSelectingTool import issues


I recently moved a project from JS to TS.

We used to use RealtimeDragSelectingTool as schema.toolManager.dragSelectingTool by importing gojs/extensions/RealtimeDragSelectingTool.

I saw that there is two import methods while working on typescript by using extensionsJSM or extensionsTS.

First I imported extensionsTS but got the same error as this stack overflow question, who in fact did not have a clear answer.

So I imported extensionsJSM, it is working but I have that error comming up in my IDE

Type 'RealtimeDragSelectingTool' is not assignable to type 'DragSelectingTool'.
  Types of property 'box' are incompatible.
    Type 'import("c:/Dev/gojs-project/node_modules/gojs/release/go-module").Part | null' is not assignable to type 'go.Part | null'.
      Type 'import("c:/Dev/gojs-project/node_modules/gojs/release/go-module").Part' is not assignable to type 'go.Part'.
        The types returned by 'adornments.first()' are incompatible between these types.
          Type 'import("c:/Dev/gojs-project/node_modules/gojs/release/go-module").Adornment | null' is not assignable to type 'go.Adornment | null'.
            Type 'import("c:/Dev/gojs-project/node_modules/gojs/release/go-module").Adornment' is not assignable to type 'go.Adornment'.
              Types of property 'placeholder' are incompatible.
                Type 'import("c:/Dev/gojs-project/node_modules/gojs/release/go-module").Placeholder | null' is not assignable to type 'go.Placeholder | null'.
                  Type 'import("c:/Dev/gojs-project/node_modules/gojs/release/go-module").Placeholder' is not assignable to type 'go.Placeholder'.
                    Property 'computeBorder' is protected but type 'Placeholder' is not a class derived from 'Placeholder'.ts(2322)

Solution

  • Simply copy the extension file to your project and import it, it works fine RTFM...