Upgrade to ExtJS 3.1.0 - Released 12/16/2009
[extjs.git] / docs / source / TabScrollerMenu.html
diff --git a/docs/source/TabScrollerMenu.html b/docs/source/TabScrollerMenu.html
deleted file mode 100644 (file)
index a681c70..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-<html>
-<head>
-  <title>The source code</title>
-    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
-    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
-</head>
-<body  onload="prettyPrint();">
-    <pre class="prettyprint lang-js">
-
-Ext.ux.TabScrollerMenu =  Ext.extend(Object, {
-       pageSize       : 10,
-       maxText        : 15,
-       menuPrefixText : 'Items',
-       constructor    : function(config) {
-               config = config || {};
-               Ext.apply(this, config);
-       },
-       init : function(tabPanel) {
-               Ext.apply(tabPanel, this.tabPanelMethods);
-               
-               tabPanel.tabScrollerMenu = this;
-               var thisRef = this;
-               
-               tabPanel.on({
-                       render : {
-                               scope  : tabPanel,
-                               single : true,
-                               fn     : function() { 
-                                       var newFn = tabPanel.createScrollers.createSequence(thisRef.createPanelsMenu, this);
-                                       tabPanel.createScrollers = newFn;
-                               }
-                       }
-               });
-       },
-       // private && sequeneced
-       createPanelsMenu : function() {
-               var h = this.stripWrap.dom.offsetHeight;
-               
-               //move the right menu item to the left 18px
-               var rtScrBtn = this.header.dom.firstChild;
-               Ext.fly(rtScrBtn).applyStyles({
-                       right : '18px'
-               });
-               
-               var stripWrap = Ext.get(this.strip.dom.parentNode);
-               stripWrap.applyStyles({
-                        'margin-right' : '36px'
-               });
-               
-               // Add the new righthand menu
-               var scrollMenu = this.header.insertFirst({
-                       cls:'x-tab-tabmenu-right'
-               });
-               scrollMenu.setHeight(h);
-               scrollMenu.addClassOnOver('x-tab-tabmenu-over');
-               scrollMenu.on('click', this.showTabsMenu, this);        
-               
-               this.scrollLeft.show = this.scrollLeft.show.createSequence(function() {
-                       scrollMenu.show();                                                                                                                                               
-               });
-               
-               this.scrollLeft.hide = this.scrollLeft.hide.createSequence(function() {
-                       scrollMenu.hide();                                                              
-               });
-               
-       },
-       // public
-       getPageSize : function() {
-               return this.pageSize;
-       },
-       // public
-       setPageSize : function(pageSize) {
-               this.pageSize = pageSize;
-       },
-       // public
-       getMaxText : function() {
-               return this.maxText;
-       },
-       // public
-       setMaxText : function(t) {
-               this.maxText = t;
-       },
-       getMenuPrefixText : function() {
-               return this.menuPrefixText;
-       },
-       setMenuPrefixText : function(t) {
-               this.menuPrefixText = t;
-       },
-       // private && applied to the tab panel itself.
-       tabPanelMethods : {
-               // all execute within the scope of the tab panel
-               // private      
-               showTabsMenu : function(e) {            
-                       if (! this.tabsMenu) {
-                               this.tabsMenu =  new Ext.menu.Menu();
-                               this.on('beforedestroy', this.tabsMenu.destroy, this.tabsMenu);
-                       }
-                       
-                       this.tabsMenu.removeAll();
-                       
-                       this.generateTabMenuItems();
-                       
-                       var target = Ext.get(e.getTarget());
-                       var xy     = target.getXY();
-                       
-                       //Y param + 24 pixels
-                       xy[1] += 24;
-                       
-                       this.tabsMenu.showAt(xy);
-               },
-               // private      
-               generateTabMenuItems : function() {
-                       var curActive  = this.getActiveTab();
-                       var totalItems = this.items.getCount();
-                       var pageSize   = this.tabScrollerMenu.getPageSize();
-                       
-                       
-                       if (totalItems > pageSize)  {
-                               var numSubMenus = Math.floor(totalItems / pageSize);
-                               var remainder   = totalItems % pageSize;
-                               
-                               // Loop through all of the items and create submenus in chunks of 10
-                               for (var i = 0 ; i < numSubMenus; i++) {
-                                       var curPage = (i + 1) * pageSize;
-                                       var menuItems = [];
-                                       
-                                       
-                                       for (var x = 0; x < pageSize; x++) {                            
-                                               index = x + curPage - pageSize;
-                                               var item = this.items.get(index);
-                                               menuItems.push(this.autoGenMenuItem(item));
-                                       }
-                                       
-                                       this.tabsMenu.add({
-                                               text : this.tabScrollerMenu.getMenuPrefixText() + ' '  + (curPage - pageSize + 1) + ' - ' + curPage,
-                                               menu : menuItems
-                                       });
-                                       
-                               }
-                               // remaining items
-                               if (remainder > 0) {
-                                       var start = numSubMenus * pageSize;
-                                       menuItems = [];
-                                       for (var i = start ; i < totalItems; i ++ ) {                                   
-                                               var item = this.items.get(i);
-                                               menuItems.push(this.autoGenMenuItem(item));
-                                       }
-                                       
-                                       
-                                       this.tabsMenu.add({
-                                               text : this.tabScrollerMenu.menuPrefixText  + ' ' + (start + 1) + ' - ' + (start + menuItems.length),
-                                               menu : menuItems
-                                       });
-                                       
-
-                               }
-                       }
-                       else {
-                               this.items.each(function(item) {
-                                       if (item.id != curActive.id && ! item.hidden) {
-                                               menuItems.push(this.autoGenMenuItem(item));
-                                       }
-                               }, this);
-                       }       
-               },
-               // private
-               autoGenMenuItem : function(item) {
-                       var maxText = this.tabScrollerMenu.getMaxText();
-                       var text    = Ext.util.Format.ellipsis(item.title, maxText);
-                       
-                       return {
-                               text      : text,
-                               handler   : this.showTabFromMenu,
-                               scope     : this,
-                               disabled  : item.disabled,
-                               tabToShow : item,
-                               iconCls   : item.iconCls
-                       }
-               
-               },
-               // private
-               showTabFromMenu : function(menuItem) {
-                       this.setActiveTab(menuItem.tabToShow);
-               }       
-       }       
-});
-</pre>
-</body>
-</html>
\ No newline at end of file