summaryrefslogtreecommitdiff
path: root/lib/dijit/layout/TabContainer.js.uncompressed.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dijit/layout/TabContainer.js.uncompressed.js')
-rw-r--r--lib/dijit/layout/TabContainer.js.uncompressed.js77
1 files changed, 77 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..929f9e21d
--- /dev/null
+++ b/lib/dijit/layout/TabContainer.js.uncompressed.js
@@ -0,0 +1,77 @@
+define("dijit/layout/TabContainer", [
+ "dojo/_base/lang", // lang.getObject
+ "dojo/_base/declare", // declare
+ "./_TabContainerBase",
+ "./TabController",
+ "./ScrollingTabController"
+], function(lang, declare, _TabContainerBase, TabController, ScrollingTabController){
+
+ // module:
+ // dijit/layout/TabContainer
+
+
+ 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.
+ //
+ // See `StackContainer.ChildWidgetProperties` for details on the properties that can be set on
+ // children of a `TabContainer`.
+
+ // 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: Class
+ // 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
+
+ // "string" branch for back-compat, remove for 2.0
+ var cls = this.baseClass + "-tabs" + (this.doLayout ? "" : " dijitTabNoLayout"),
+ TabController = typeof this.controllerWidget == "string" ? lang.getObject(this.controllerWidget) :
+ this.controllerWidget;
+
+ return new TabController({
+ id: this.id + "_tablist",
+ ownerDocument: this.ownerDocument,
+ 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 ?
+ ScrollingTabController : TabController;
+ }
+ }
+ });
+});