Dojo 1.7 w/ Dijit

A starting point for creating Dojo/Dijit fiddles

by brianarn

HTML

<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/dojo/1.7/dojo/resources/dojo.css">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/dojo/1.7/dijit/themes/claro/claro.css">
<div id="container"></div>

JavaScript

require([
    "dojo/parser",
    "dojo/_base/array",
    "dijit/layout/BorderContainer",
    "dijit/layout/ContentPane",
    "dojo/domReady!"
], function(parser, arrayUtil){
    console.log("DOM is ready!");
    
    var html = '<div data-dojo-type="dijit.layout.BorderContainer" style="height: 400px; width: 600px;"><div data-dojo-type="dijit.layout.ContentPane" region="center">Center</div><div data-dojo-type="dijit.layout.ContentPane" region="top" style="height: 75px;">Top</div><div data-dojo-type="dijit.layout.ContentPane" region="left" style="width: 100px">Sidebar</div></div>';
    var wrap = document.createElement('div');
    
    wrap.innerHTML = html;
    
    var widgets = parser.parse(wrap, {noStart: true});
    var container = document.getElementById("container");
    container.appendChild(wrap);
    arrayUtil.forEach(widgets, function(widget){
        console.log("Processing widget " + widget.id);
        if (!widget._started) {
            console.log("Starting widget " + widget.id);
            widget.startup();
        } else {
            console.log("Widget " + widget.id + " already started");
        }
    });
});