X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/b37ceabb82336ee82757cd32efe353cfab8ec267..f5240829880f87e0cf581c6a296e436fdef0ef80:/examples/ux/ColumnHeaderGroup.js diff --git a/examples/ux/ColumnHeaderGroup.js b/examples/ux/ColumnHeaderGroup.js index e189e737..1005f066 100644 --- a/examples/ux/ColumnHeaderGroup.js +++ b/examples/ux/ColumnHeaderGroup.js @@ -1,5 +1,5 @@ /*! - * Ext JS Library 3.2.2 + * Ext JS Library 3.3.0 * Copyright(c) 2006-2010 Ext JS, Inc. * licensing@extjs.com * http://www.extjs.com/license @@ -167,7 +167,7 @@ Ext.ux.grid.ColumnHeaderGroup = Ext.extend(Ext.util.Observable, { ds.sort(cm.getDataIndex(index), 'DESC'); break; default: - if(id.substr(0, 5) == 'group'){ + if(id.substr(0, 6) == 'group-'){ var i = id.split('-'), row = parseInt(i[1], 10), col = parseInt(i[2], 10), r = this.cm.rows[row], group, gcol = 0; for(var i = 0, len = r.length; i < len; i++){ group = r[i]; @@ -193,7 +193,7 @@ Ext.ux.grid.ColumnHeaderGroup = Ext.extend(Ext.util.Observable, { cm.setHidden(i, item.checked); } } - }else{ + }else if(id.substr(0, 4) == 'col-'){ index = cm.getIndexById(id.substr(4)); if(index != -1){ if(item.checked && cm.getColumnsBy(this.isHideableColumn, this).length <= 1){ @@ -203,31 +203,33 @@ Ext.ux.grid.ColumnHeaderGroup = Ext.extend(Ext.util.Observable, { cm.setHidden(index, item.checked); } } - item.checked = !item.checked; - if(item.menu){ - var updateChildren = function(menu){ - menu.items.each(function(childItem){ - if(!childItem.disabled){ - childItem.setChecked(item.checked, false); - if(childItem.menu){ - updateChildren(childItem.menu); + if(id.substr(0, 6) == 'group-' || id.substr(0, 4) == 'col-'){ + item.checked = !item.checked; + if(item.menu){ + var updateChildren = function(menu){ + menu.items.each(function(childItem){ + if(!childItem.disabled){ + childItem.setChecked(item.checked, false); + if(childItem.menu){ + updateChildren(childItem.menu); + } } - } - }); + }); + } + updateChildren(item.menu); } - updateChildren(item.menu); - } - var parentMenu = item, parentItem; - while(parentMenu = parentMenu.parentMenu){ - if(!parentMenu.parentMenu || !(parentItem = parentMenu.parentMenu.items.get(parentMenu.getItemId())) || !parentItem.setChecked){ - break; + var parentMenu = item, parentItem; + while(parentMenu = parentMenu.parentMenu){ + if(!parentMenu.parentMenu || !(parentItem = parentMenu.parentMenu.items.get(parentMenu.getItemId())) || !parentItem.setChecked){ + break; + } + var checked = parentMenu.items.findIndexBy(function(m){ + return m.checked; + }) >= 0; + parentItem.setChecked(checked, true); } - var checked = parentMenu.items.findIndexBy(function(m){ - return m.checked; - }) >= 0; - parentItem.setChecked(checked, true); + item.checked = !item.checked; } - item.checked = !item.checked; } return true; }, @@ -249,9 +251,9 @@ Ext.ux.grid.ColumnHeaderGroup = Ext.extend(Ext.util.Observable, { } if(group && group.header){ if(cm.hierarchicalColMenu){ - var gid = 'group-' + row + '-' + gcol; - var item = menu.items.item(gid); - var submenu = item ? item.menu : null; + var gid = 'group-' + row + '-' + gcol, + item = menu.items ? menu.getComponent(gid) : null, + submenu = item ? item.menu : null; if(!submenu){ submenu = new Ext.menu.Menu({ itemId: gid @@ -293,8 +295,8 @@ Ext.ux.grid.ColumnHeaderGroup = Ext.extend(Ext.util.Observable, { } }, - renderUI: function(){ - this.constructor.prototype.renderUI.apply(this, arguments); + afterRenderUI: function(){ + this.constructor.prototype.afterRenderUI.apply(this, arguments); Ext.apply(this.columnDrop, Ext.ux.grid.ColumnHeaderGroup.prototype.columnDropConfig); Ext.apply(this.splitZone, Ext.ux.grid.ColumnHeaderGroup.prototype.splitZoneConfig); }