Tg.
Tg.

Reputation: 5784

Dojo (Dijit) bordercontainer does not show correctly (programatically)

I tried to do a layout using dijit in dojo (1.7.2), but the result did not looks like the way I intended.

My first attempted is trying a declarative style from some example (here http://pastebin.com/Uy0pFmn3), which worked fine. Then I tried to convert it to programatic style (here http://pastebin.com/qRWUQsQN ), but it only showed the layout that created last.

Did I do misunderstanding how the dijit's layout works or just some minimal overlook here ? thanks

Upvotes: 1

Views: 635

Answers (3)

user2049566
user2049566

Reputation: 1

I see the problem here.. In your pastebin code you are missing do declare the function paramter like the below example...

Your modified code:

require(["dijit/layout/BorderContainer", "dijit/layout/TabContainer", "dijit/layout/ContentPane"], function(BorderContainer, TabContainer, ContentPane ) {
var appLayout = new BorderContainer({"design": "headline"}, 'appLayout');

Also the order of the require paramters should match inside the function parameters also ..

Waseem Ahmed V

Upvotes: 0

Kotu
Kotu

Reputation: 1102

You must add CSS styles:

html, body {
    height: 100%;
    width: 100%;
}

and for BorderContainer:

style="height:100%; width:100%"

Upvotes: 3

Tg.
Tg.

Reputation: 5784

EDIT: ok I got it. I guess I cannot use new ContentPane but instead, new dijit.layout.ContentPane (So here the finalize version http://pastebin.com/eYfeQUd8). The weird, "show only last layout" cause by my weird CSS stuff.

One thing that puzzled me is that why new ContentPane did not work ? As far as I recall, some example did like this

require(["dijit/layout/BorderContainer", "dijit/layout/TabContainer",
        "dijit/layout/ContentPane"], function(BorderContainer) {new BorderContainer //STUFF//}

Upvotes: 0

Related Questions