<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <link href="https://ajax.googleapis.com/ajax/libs/dojo/1.11.2/dijit/themes/claro/claro.css" rel="stylesheet" type="text/css" />
  
  
  
     <style>
    html, body {
        width: 100%;
        height: 100%;
        margin: 0;
        padding:0;
        overflow:hidden;
    }

    .my-widget,#borderContainer1,#borderContainer2,#borderContainer3 {
        width: 100%;
        height: 100%;
    }

    </style>
  
  
  
</head>
<body class="claro"> 
    

   <!-- configure Dojo --> 
    <script data-dojo-config="async: 1, dojoBlankHtmlUrl: '/blank.html',
            packages: [ {
                name: 'myapp',
                location: location.pathname.replace(/\/[^/]+$/, '') + 'myapp'
            } ]"
        src="//ajax.googleapis.com/ajax/libs/dojo/1.11.2/dojo/dojo.js"></script>
   

  
  
  
  
    <div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline', gutters:true, liveSplitters:true" id="borderContainer1">
        <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="splitter:true, region:'leading'" style="width: 100px;">Hi, I'm leading pane</div>
        <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="splitter:true, region:'center'">
            <!-- embedded BorderContainer not working when declared inside a widget's template -->
            <div data-dojo-type="myapp/MyWidget" id="borderContainer3"></div> 

            <!-- embedded BorderContainer works ok when declared here 
            <div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'sidebar', gutters:true, liveSplitters:true" id="borderContainer2">
                <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="splitter:true, region:'leading'" style="width: 100px;">Hi, I'm leading pane of center</div>
                <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="splitter:true, region:'center'">Hi, I'm center of center</div>
            </div-->

        </div>
    </div>



    <script>
    require([
        "dojo/_base/array", 
        'dojo/_base/declare',
        "dojo/parser",
        "dojo/on",
        "dijit/layout/ContentPane",
        "dijit/layout/BorderContainer",

    
        'dojo/domReady!' ], function (array,declare,parser,on) {

            console.log("b4 parse ....")
            parser.parse().then(function(){
                console.log("after parse ....")
            }); 
        });
    </script>
    </body>
    </html>


  
<div class="my-widget"> <!-- root element cannot have a data-dojo-type defineed -->
    
    
     <div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'sidebar', gutters:true, liveSplitters:true" id="borderContainer2">
            <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="splitter:true, region:'leading'" style="width: 100px;">Hi, I'm leading pane of center</div>
            <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="splitter:true, region:'center'">Hi, I'm center of center</div>
        </div>

</div>


define([
    'dojo/_base/declare',
    "dijit/_WidgetBase",
    "dijit/_TemplatedMixin",
    "dijit/_WidgetsInTemplateMixin",
    "dojo/text!./MyWidget.html",
    "dijit/layout/ContentPane",
    "dijit/layout/BorderContainer",
],
function (declare,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,template) {
        var widget=declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
                templateString: template,
        });

        return widget;
    });