diff options
Diffstat (limited to 'lib/dijit/layout/TabContainer.js.uncompressed.js')
-rw-r--r-- | lib/dijit/layout/TabContainer.js.uncompressed.js | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/lib/dijit/layout/TabContainer.js.uncompressed.js b/lib/dijit/layout/TabContainer.js.uncompressed.js new file mode 100644 index 000000000..109ace0f1 --- /dev/null +++ b/lib/dijit/layout/TabContainer.js.uncompressed.js @@ -0,0 +1,79 @@ +define("dijit/layout/TabContainer", [ + "dojo/_base/lang", // lang.getObject + "dojo/_base/declare", // declare + "./_TabContainerBase", + "./TabController", + "./ScrollingTabController" +], function(lang, declare, _TabContainerBase, TabController, ScrollingTabController){ + +/*===== + var _TabContainerBase = dijit.layout._TabContainerBase; + var TabController = dijit.layout.TabController; + var ScrollingTabController = dijit.layout.ScrollingTabController; +=====*/ + + // module: + // dijit/layout/TabContainer + // summary: + // A Container with tabs to select each child (only one of which is displayed at a time). + + + return declare("dijit.layout.TabContainer", _TabContainerBase, { + // summary: + // A Container with tabs to select each child (only one of which is displayed at a time). + // description: + // A TabContainer is a container that has multiple panes, but shows only + // one pane at a time. There are a set of tabs corresponding to each pane, + // where each tab has the name (aka title) of the pane, and optionally a close button. + + // useMenu: [const] Boolean + // True if a menu should be used to select tabs when they are too + // wide to fit the TabContainer, false otherwise. + useMenu: true, + + // useSlider: [const] Boolean + // True if a slider should be used to select tabs when they are too + // wide to fit the TabContainer, false otherwise. + useSlider: true, + + // controllerWidget: String + // An optional parameter to override the widget used to display the tab labels + controllerWidget: "", + + _makeController: function(/*DomNode*/ srcNode){ + // summary: + // Instantiate tablist controller widget and return reference to it. + // Callback from _TabContainerBase.postCreate(). + // tags: + // protected extension + + var cls = this.baseClass + "-tabs" + (this.doLayout ? "" : " dijitTabNoLayout"), + TabController = lang.getObject(this.controllerWidget); + + return new TabController({ + id: this.id + "_tablist", + dir: this.dir, + lang: this.lang, + textDir: this.textDir, + tabPosition: this.tabPosition, + doLayout: this.doLayout, + containerId: this.id, + "class": cls, + nested: this.nested, + useMenu: this.useMenu, + useSlider: this.useSlider, + tabStripClass: this.tabStrip ? this.baseClass + (this.tabStrip ? "":"No") + "Strip": null + }, srcNode); + }, + + postMixInProperties: function(){ + this.inherited(arguments); + + // Scrolling controller only works for horizontal non-nested tabs + if(!this.controllerWidget){ + this.controllerWidget = (this.tabPosition == "top" || this.tabPosition == "bottom") && !this.nested ? + "dijit.layout.ScrollingTabController" : "dijit.layout.TabController"; + } + } + }); +}); |