<a:application xmlns:a="http://ajax.org/2005/aml">
    <a:window
      id        = "winExt"
      title     = "Extension Manager"
      icon      = ""
      center    = "true"
      resizable = "true"
      buttons   = "close"
      width     = "550"
      height    = "400"
      kbclose   = "true">
        <a:vbox anchors="0 0 0 0" edge="10 10 5 10">
            <a:hbox align="center" edge="0 0 5 0" padding="5">
                <a:textbox id="tbModuleName" flex="1" 
                  realtime   = "true" />
                <a:button width="80"
                  default = "1"
                  caption = "Add"
                  disabled = "{!tbModuleName.value.trim()}"
                  onclick = "
                    if (tbModuleName.validate()) {
                        var name = tbModuleName.value;
                        tbModuleName.clear();
                        
                        require(\[name\]);
                    }
                  " />
            </a:hbox>
            <a:datagrid id="dgExt" flex="1"
              model = "mdlExt"
              each  = "[plugin]"
              eachvalue = "[@path]">
                <a:column width="25%" value="[@name]" caption="Name" /> 
                <a:column width="30%" value="[@path]" caption="Path" /> 
                <a:column width="15%" value="[@type]" caption="Type" /> 
                <a:column width="20%" value="[@dev]" caption="Developer" /> 
                <a:column width="10%" value="{[@enabled] == 1 ? 'Enabled' : 'Disabled'}" caption="Enabled" /> 
            </a:datagrid>
            <a:hbox edge="10 0 0 0">
                <a:button width="80"
                  caption = "{[{dgExt.selected}::@enabled] == 1 ? 'Disable' : 'Enable'}" 
                  onclick = "
                    if ([{dgExt.selected}::@enabled] == 1)
                        require('core/ext').unregister(require(dgExt.value));
                    else
                        require('core/ext').register(dgExt.value, require(dgExt.value));
                  " />
                <a:filler />
                <a:button default="3" width="80" onclick="winExt.hide()">Done</a:button>
            </a:hbox>
        </a:vbox>
    </a:window>
</a:application>