ug.FancyRenderer=Ext.extend(ug.CellRenderer,{render:function(B,A){var D=Ext.fly(A);
D.addClass(A.type+"Cell fancyCell");
if(!B.leaf){D.addClass("parent")
}var C="";
C=C+Ext.util.Format.htmlEncode(B.name);
if(!B.leaf){C=C+"<div class='arrow'><!-- --></div> "
}ug.flyChild(D,".inner").update(C)
}});
ug.MillerColumns=function(A){ug.MillerColumns.superclass.constructor.call(this,Ext.apply({},A,{layout:"column",height:320,border:false,columns:[],storageClass:ug.RpcDataSource,cols:3,activeColumn:-1}));
this.addEvents("columnselectionchanged","columnaction")
};
Ext.extend(ug.MillerColumns,Ext.Panel,{initComponent:function(){ug.MillerColumns.superclass.initComponent.apply(this,arguments);
var D=this.columnConfig||[];
if(this.cols==1){var B=new ug.MillerColumn(Ext.apply({},D[0],{renderer:this.renderer,storage:new ug.SparseStorage({source:new this.storageClass({rpc:""})}),sm:new ug.SelectionModel({}),filtered:true,loadOnRender:true,disabled:true,columnWidth:1/this.cols,height:this.height}))
}else{var B=new ug.MillerColumn(Ext.apply({},D[0],{renderer:new ug.FancyRenderer({cls:"primaryCell",height:24}),storage:new ug.ArrayStorage({data:this.roots}),sm:new ug.SelectionModel({singleSelect:true}),loadOnRender:true,filtered:true,filterHidden:true,columnWidth:1/this.cols,height:this.height}))
}this.addColumn(B);
for(var A=1;
A<this.cols;
++A){var C=new ug.MillerColumn(Ext.apply({},D[A],{renderer:this.renderer,storage:new ug.SparseStorage({source:new this.storageClass({rpc:""})}),sm:new ug.SelectionModel({}),filtered:true,disabled:true,columnWidth:1/this.cols,height:this.height}));
this.addColumn(C)
}Ext.EventManager.onWindowResize(this.onWindowResize,this)
},onDestroy:function(){Ext.EventManager.removeResizeListener(this.onWindowResize,this)
},onWindowResize:function(){var A=this.container.getViewSize().width;
if(A==0){A=Ext.lib.Dom.getViewWidth()-20
}this.setWidth(A)
},addColumn:function(B){var A=this.columns.length;
this.columns.push(B);
this.add(B);
B.on({next:function(C){this.onColumnSwitch(A,C)
},previous:function(C){this.onColumnSwitch(A,C)
},action:function(C){this.onColumnAction(A,C)
},beforefilterchange:function(D,C){this.onBeforeColumnFilterChange(A,D,C)
},scope:this});
B.sm.on({selectionchanged:function(C){if(!this.inChange){this.onColumnSelectionChanged(A,C)
}},scope:this})
},onColumnSwitch:function(B,C){var A=B+((C.getKey()==C.RIGHT)?1:-1);
if((A>=0)&&(A<this.columns.length)&&!this.columns[A].disabled){this.columns[A].focus()
}},onColumnAction:function(B,C){var A=B+1;
if((A<this.columns.length)&&!this.columns[A].disabled){this.columns[A].focus()
}else{this.fireEvent("columnaction",C)
}},onBeforeColumnFilterChange:function(A,C,B){this.resetColumns(1+A)
},onColumnSelectionChanged:function(A,C){this.setActiveColumn(A);
var B=this.columns[A];
B.storage.getSelectedData(function(D){this.inChange=true;
if(this.selectionPanel){this.selectionPanel.setSelection(D)
}this.onColumnSelection(A,D);
this.inChange=false
},this);
this.fireEvent("columnselectionchanged",B)
},setActiveColumn:function(A){if(A>=0){this.columns[A].el.radioClass("activeColumn")
}else{if(this.activeColumn>=0){this.columns[this.activeColumn].removeClass("activeColumn")
}}this.activeColumn=A
},getActiveColumn:function(){return(this.activeColumn>=0)?this.columns[this.activeColumn]:null
},onColumnSelection:function(A,B){},focus:function(){this.columns[0].focus()
},reset:function(){this.resetColumns(1);
this.columns[0].sm.clearSelection();
this.columns[0].virtualPanel.setFocusIndex(0)
},resetColumns:function(A){for(var B=A;
B<this.columns.length;
++B){var C=this.columns[B];
if(!C.disabled){C.reset({disabled:true,filterDisabled:true,filterHidden:false});
if(this.activeColumn==B){this.activeColumn=-1;
this.columns[B].el.removeClass("activeColumn")
}}}}});

