AnsweredAssumed Answered

How to add "esri/widgets/Widget" into "dijit/layout/*"

Question asked by Martin-L on Feb 22, 2017
Latest reply on Feb 28, 2017 by Martin-L

Hey at all,

hi Rene Rubalcava

 

I need some help again at implementing custom widgets with TypeScript and base class "esri/widgets/Widget". I think I understand that working with TypeScript, JSX and Maquette. It seems to be that there is one important thing you have to keep in mind for developing. You have to hold a none virtual dom in your web app to render the virtual dom of your widget into it. Is that right?

 

In a couple of days I tried to render a widget based on "esri/widgets/Widget" into a "dijit/layout/StackContainer". The main problem is, that there is no "domNode". I tried several things to prepare the domNode.

  • Call the render() function
    • Nothing happened. domNode ist still undefined
  • Create a "dijit/layout/ContentPane", add it to StackContainer and than call widget._projector.merge(contentPane.domNode, widget.domNode);
    • A string with some widget ids which contains the widget appears in the StackContainer
  • Create a "dijit/layout/ContentPane", add it to StackContainer, assign widget.container=contentPane.id and than call widget.render();
    • A string with some widget ids which contains the widget appears in the StackContainer
  • Wait for rendering with "dojo/aspect" function after.
    • domNode ist still undefined
  • Watching for changes of domNode and/or container
    • Callback function doesn't call

Is there a way to solve this problem? How can I render a widget without an existing container? There have to be a solution but I haven't any idea. Can you help me out please? Any help is appreciated! Thanks!

 

Regards

Martin

Outcomes