2
votes

How to destroy all widgets enclosed inside a DIV? The attached code works well if enclosing element is a dojo widget (such as form).
Just to reiterate, How to unregister all the widgets enclose inside a DOM element such as DIV.

require(["dojo/ready"], function(ready) {
        ready(function(){
         var parentNode = dijit.byId('enclosingDivId');
            if (parentNode) {
               parentNode.destroyRecursive(true);
            }
        });
    })
1

1 Answers

1
votes

based on dijit/registry documentation I suggest you to do something like this:

require(["dojo/_base/array", "dijit/registry"], function(arrayUtil, registry){
    var formWidgets = registry.findWidgets(someNode);
    formWidgets.forEach(function (widget) {
        widget.destroyRecursive();
    }); 
});