user57675
user57675

Reputation:

Dojo Toolbox: Closing the dialog Box

Is there a way to set a button inside the dojo dialog box and have it close the dialog box it is residing in?

Putting dijits inside of dijits doesn't work, and I can't beleive there isn't a way to do that.

Upvotes: 3

Views: 8894

Answers (2)

Alex
Alex

Reputation: 8313

Note, since Dojo 1.7 onwards, the connect module has been replaced with dojo/on. The equivalent of the above is therefore:

require(['dojo/on', 'dijit/form/Button'], function (on, Button) {
    // etc

    var btn = new Button({ label: "Close" });
    dlg.containerNode.appendChild(btn.domNode);

    on(btn, "onClick", function(){
        console.log("destroying, while visible"); 
        dlg.destroy();
    });
});

Upvotes: 1

Maine
Maine

Reputation: 1878

Sure you can put a dijit widget inside another widget. And in a standard Dojo release there's even a test case Dijit Dialog focus & destroy included that demonstrates closing dialog with a button inside of it. Here's the relevant part:

var btn = new dijit.form.Button({ label: "Close" });
dlg.containerNode.appendChild(btn.domNode);

dojo.connect(btn, "onClick", function(){
    console.log("destroying, while visible"); 
    dlg.destroy();
});

Upvotes: 3

Related Questions