Changeset 17838

Show
Ignore:
Timestamp:
08/06/08 10:42:49 (2 months ago)
Author:
ritesh
Message:

Added additional filtering conditions
sorting, resizing and hiding column facility in tree view.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/core/src/net/project/hibernate/dao/IPnAssignmentDAO.java

    r17797 r17838  
    7474                boolean assignor, 
    7575                Integer[] projectIds, 
     76                Integer businessId, 
    7677                String[] assignmentTypes, 
    7778                boolean lateAssignment, 
  • trunk/core/src/net/project/hibernate/dao/impl/PnAssignmentDAOImpl.java

    r17797 r17838  
    702702                boolean assignor, 
    703703                Integer[] projectIds, 
     704                Integer businessId, 
    704705                String[] assignmentTypes, 
    705706                boolean lateAssignment, 
     
    740741                        sql += " AND ps.projectId IN( :projectIds )"; 
    741742                } 
     743                 
     744                if(businessId != null){ 
     745                        sql += " AND ps.projectId IN(" 
     746                                +" select distinct shs.comp_id.childSpaceId from PnSpaceHasSpace shs "  
     747                                +" where shs.parentSpaceType = 'business' " 
     748                                +" and  shs.comp_id.parentSpaceId = :businessId and shs.recordStatus = 'A')"; 
     749                } 
     750                 
    742751                //Assignment type clause 
    743752                if(assignmentTypes != null){ 
     
    815824                                query.setParameterList("projectIds", projectIds); 
    816825                        } 
     826                         
     827                        if(businessId != null){ 
     828                                query.setParameter("businessId", businessId); 
     829                        } 
    817830 
    818831                        if (assignmentTypes != null) { 
  • trunk/core/src/net/project/hibernate/service/IPnAssignmentService.java

    r17797 r17838  
    6969                boolean assignor, 
    7070                Integer[] projectIds, 
     71                Integer businessId, 
    7172                String[] assignmentTypes, 
    7273                boolean lateAssignment, 
     
    8788                boolean assignor, 
    8889                Integer[] projectIds, 
     90                Integer businessId, 
    8991                String[] assignmentTypes, 
    9092                boolean lateAssignment, 
  • trunk/core/src/net/project/hibernate/service/impl/PnAssignmentServiceImpl.java

    r17805 r17838  
    662662     
    663663    public String getAssignorAssignmentsTreeData(Integer assignorId, DateFormat userDateFormat){ 
    664         return createAssignmentsTreeData(getAssignorAssignmentDetails(assignorId), userDateFormat); 
     664        return getTreeGridData(getAssignorAssignmentDetails(assignorId), userDateFormat); 
    665665    } 
    666666     
    667667    public String getResourceAssignmentsTreeData(Integer resourceId, Integer[] projectIds, Date startDate, Date endDate, DateFormat userDateFormat){ 
    668         return createAssignmentsTreeData(getResourceAssignmentDetails(resourceId, projectIds, startDate, endDate), userDateFormat); 
     668        return getTreeGridData(getResourceAssignmentDetails(resourceId, projectIds, startDate, endDate), userDateFormat); 
    669669    } 
    670670     
     
    673673                boolean assignor, 
    674674                Integer[] projectIds, 
     675                Integer businessId, 
    675676                String[] assignmentTypes, 
    676677                boolean lateAssignment, 
     
    686687                String assignmentNameComparator 
    687688    ){ 
    688         return pnAssignmentDAO.getAssignmentDetailsWithFilters(personId, assignor, projectIds, 
     689        return pnAssignmentDAO.getAssignmentDetailsWithFilters(personId, assignor, projectIds, businessId, 
    689690                        assignmentTypes, lateAssignment, comingDueDate, shouldHaveStart, inProgress, startDate, endDate, 
    690691                        statusId, percentComplete, PercentCompleteComparator, assignmentName, assignmentNameComparator ); 
     
    695696                boolean assignor, 
    696697                Integer[] projectIds, 
     698                Integer businessId, 
    697699                String[] assignmentTypes, 
    698700                boolean lateAssignment, 
     
    709711                DateFormat userDateFormat 
    710712    ){ 
    711         return createAssignmentsTreeData(getAssignmentDetailsWithFilters(personId, assignor, projectIds
     713        return getTreeGridData(getAssignmentDetailsWithFilters(personId, assignor, projectIds, businessId
    712714                        assignmentTypes, lateAssignment, comingDueDate, shouldHaveStart, InProgress, startDate, endDate, 
    713715                        statusId, percentComplete, PercentCompleteComparator, assignmentName, assignmentNameComparator ), userDateFormat); 
    714716    } 
    715717     
    716     /** 
    717          * @return 
    718          */ 
    719         private String createAssignmentsTreeData(List<PnAssignment> assignments, DateFormat userDateFormat) { 
    720                 String assignmentsTreeData = ""; 
    721                 assignmentsTreeData = "["; 
    722  
    723                 if(assignments != null){ 
    724                         int projectId = 0; 
    725                         for(PnAssignment assignment : assignments){ 
    726                                 if(projectId != assignment.getPnProjectSpace().getProjectId().intValue()){                       
    727                                         if(!assignmentsTreeData.equalsIgnoreCase("[")){ 
    728                                                 assignmentsTreeData += ","; 
    729                                         } 
    730                                         assignmentsTreeData += "{ objectId : '"+ assignment.getPnProjectSpace().getProjectId(); 
    731                                         assignmentsTreeData += "', objectName : '<font color=\"blue\"><b>"+ assignment.getPnProjectSpace().getProjectName().replaceAll("'", "&acute;");                                  
    732                                         assignmentsTreeData += "</b></font>', dueDate : '', workRemaining : '',";                
    733                                         assignmentsTreeData += " objectType: 'project', uiProvider : 'col', cls : 'master-task', iconCls : 'project'"; 
    734                                         assignmentsTreeData += ", children : [" +getAssignmentsString(assignment.getPnProjectSpace().getProjectId(), assignments, userDateFormat); 
    735                                         assignmentsTreeData += "]}"; 
    736                                         projectId = assignment.getPnProjectSpace().getProjectId(); 
    737                                 } 
    738                         } 
    739                 } 
    740                 assignmentsTreeData += "]";              
    741                  
    742                 return assignmentsTreeData; 
    743         } 
    744          
    745         /** 
    746          * @param projectId 
    747          * @return 
    748          */ 
    749         String getAssignmentsString(Integer projectId, List<PnAssignment> assignments, DateFormat userDateFormat){ 
    750                 String assignmentString = ""; 
    751                 for(PnAssignment assignment : assignments){ 
    752                         if(assignment.getPnProjectSpace().getProjectId().intValue() == projectId){ 
    753                                 if(!assignmentString.equalsIgnoreCase("")){ 
    754                                         assignmentString += ",";  
    755                                 } 
    756                                 assignmentString += "{ objectId : '"+ assignment.getPnTask().getTaskId(); 
    757                                 assignmentString += "', objectName : '"+ assignment.getTaskName().replaceAll("'", "&acute;"); 
    758                                 assignmentString += "', objectType : '" +assignment.getPnObjectType().getObjectType(); 
    759                                 //assignmentString += "', startDate : '"+ userDateFormat.formatDate(assignment.getStartDate(), "dd/MM/yyyy") ; 
    760                                 assignmentString += "', dueDate : '"+ getDueDateString(assignment.getEndDate(), userDateFormat); 
    761                                 //assignmentString += "', actualStart : '"+ assignment.getActualStart(); 
    762                                 //assignmentString += "', percentComplete : '"+ (assignment.getPercentComplete() != null ? assignment.getPercentComplete() : ""); 
    763                                 //assignmentString += "', work : '"+ (assignment.getWork() != null ? assignment.getWork() : ""); 
    764                                 //assignmentString += "', workComplete : '"+ (assignment.getWorkComplete() != null ? assignment.getWorkComplete() : ""); 
    765                                 assignmentString += "', workRemaining : '"+ getWorkRemainingString( assignment.getWork(), assignment.getWorkComplete() ,assignment.getWorkUnits()); 
    766                                 assignmentString += "', uiProvider : 'col', cls : 'master-task', iconCls : 'task', leaf : true }"; 
    767                         } 
    768                 } 
    769                 return assignmentString; 
    770         } 
    771          
     718     
    772719        private String getWorkRemainingString(Integer work, Integer workComplete, Integer workUnit) { 
    773720                String strWorkRemaining = ""; 
     
    829776        } 
    830777         
    831      
     778        private String getTreeGridData(List<PnAssignment> assignments, DateFormat userDateFormat) { 
     779                String treeString = "["; 
     780                if (assignments != null) { 
     781                        int left = 1; 
     782                        int right = 1; 
     783                        int projectId = 0; 
     784                        for (PnAssignment assignment : assignments) { 
     785                                if (!treeString.equals("[")) { 
     786                                        treeString += ","; 
     787                                } 
     788                                if (projectId != assignment.getPnProjectSpace().getProjectId().intValue()) { 
     789                                        left = right; 
     790                                        right =  right + 100; 
     791                                        treeString += "{ objectId: " + assignment.getPnProjectSpace().getProjectId()  
     792                                                        + ", objectName:'" 
     793                                                        + assignment.getPnProjectSpace().getProjectName().replaceAll("'", "&acute;") 
     794                                                        + "', objectType:'' ,dueDate:'' ,workRemaining:''"  
     795                                                        + ", _id:"+ assignment.getPnProjectSpace().getProjectId()  
     796                                                        + ", _parent:null ,_level:1 , _lft:"+ left++  
     797                                                        + ", _rgt:" + right-- + " ,_is_leaf:false },"; 
     798                                } 
     799                                treeString += "{ objectId:" + assignment.getPnTask().getTaskId() 
     800                                                + ", objectName:'" + assignment.getTaskName().replaceAll("'", "&acute;") 
     801                                                + "', objectType:'" + assignment.getPnObjectType().getObjectType() 
     802                                                + "', dueDate:'" + getDueDateString(assignment.getEndDate(), userDateFormat) 
     803                                                + "', workRemaining:'" + getWorkRemainingString(assignment.getWork(),  
     804                                                                assignment.getWorkComplete(), assignment.getWorkUnits())  
     805                                                + "', _id : " + assignment.getPnTask().getTaskId()  
     806                                                + ", _parent : "+ assignment.getPnProjectSpace().getProjectId()  
     807                                                + " ,_level:2 ,_lft:" + left++ + ", _rgt:" + right-- + " ,_is_leaf:true }"; 
     808                                projectId = assignment.getPnProjectSpace().getProjectId(); 
     809                        } 
     810                } 
     811                treeString += "]"; 
     812                 
     813                return treeString; 
     814        } 
    832815} 
  • trunk/core/src/net/project/view/pages/assignments/MyAssignments.java

    r17805 r17838  
    1313import net.project.base.Module; 
    1414import net.project.base.property.PropertyProvider; 
     15import net.project.business.BusinessSpace; 
     16import net.project.business.BusinessSpaceFinder; 
    1517import net.project.hibernate.model.PnProjectSpace; 
    1618import net.project.hibernate.model.PnWeblogComment; 
     
    2022import net.project.hibernate.service.IPnProjectSpaceService; 
    2123import net.project.hibernate.service.ServiceFactory; 
     24import net.project.persistence.PersistenceException; 
    2225import net.project.security.SessionManager; 
    2326import net.project.space.Space; 
     
    7073 
    7174        @Persist 
     75        private Integer businessId; 
     76         
     77        @Persist 
    7278        private Integer[] projectIds; 
    7379 
     
    107113        @Persist 
    108114        private String assignmentNameComparator; 
     115         
     116        @Persist 
     117        private String businessOptionsString; 
    109118         
    110119        @Persist 
     
    129138        @SetupRender 
    130139        void setValues(){ 
     140                createUserBusinessOptionsString(); 
    131141                createUserProjectOptionsString(); 
    132142        } 
     
    172182        public TextStreamResponse getAssignmentTreeData() { 
    173183                IPnAssignmentService pnAssignmentService = ServiceFactory.getInstance().getPnAssignmentService(); 
    174                 return new TextStreamResponse("text", pnAssignmentService.getAssignmentsTreeData(Integer 
    175                                 .parseInt(SessionManager.getUser().getID()), assignor, projectIds, assignmentTypes, lateAssignment, 
     184                return new TextStreamResponse("text/json", pnAssignmentService.getAssignmentsTreeData(Integer 
     185                                .parseInt(SessionManager.getUser().getID()), assignor, projectIds, businessId, assignmentTypes, lateAssignment, 
    176186                                comingDueDate, shouldHaveStart, inProgress, startDate, endDate, statusId, percentComplete, 
    177187                                percentCompleteComparator, assignmentName, assignmentNameComparator, userDateFormat)); 
     
    231241        } 
    232242         
     243        private void createUserBusinessOptionsString() { 
     244                businessOptionsString = "["; 
     245                List<BusinessSpace> businesses = null; 
     246                BusinessSpaceFinder bFinder = new BusinessSpaceFinder(); 
     247                try { 
     248                        businesses = bFinder.findByUser(net.project.security.SessionManager.getUser(), "A"); 
     249                } catch (PersistenceException e) { 
     250                        log.error("Error occured while generating list values for Businesses model: MyAssignments.createUserBusinessOptionsString()"); 
     251                } 
     252                if (businesses != null && businesses.size() > 0) { 
     253                        for (BusinessSpace business : businesses) { 
     254                                if (!businessOptionsString.equals("[")) { 
     255                                        businessOptionsString += ","; 
     256                                } else { 
     257                                        businessOptionsString += "['','All'],"; 
     258                                } 
     259                                businessOptionsString += "['" + business.getID() + "','" + business.getName() + "']"; 
     260                        } 
     261                } 
     262                businessOptionsString += "]"; 
     263        } 
     264         
    233265        private void createUserProjectOptionsString(){ 
    234266                projectOptionsString = "["; 
     
    259291                        setAssigneeOrassignorParameter("assignee"); 
    260292                } 
     293                 
     294                if (StringUtils.isNotEmpty(request.getParameter("business"))) { 
     295                        businessId = Integer.parseInt(request.getParameter("business")); 
     296                } else { 
     297                        businessId = null; 
     298                } 
    261299 
    262300                if (StringUtils.isNotEmpty(request.getParameter("projects"))) { 
     
    617655        } 
    618656 
     657        /** 
     658         * @return the businessOptionsString 
     659         */ 
     660        public String getBusinessOptionsString() { 
     661                return businessOptionsString; 
     662        } 
     663 
     664        /** 
     665         * @param businessOptionsString the businessOptionsString to set 
     666         */ 
     667        public void setBusinessOptionsString(String businessOptionsString) { 
     668                this.businessOptionsString = businessOptionsString; 
     669        } 
     670 
    619671} 
  • trunk/core/web/html/assignments/MyAssignments.html

    r17829 r17838  
    33<t:BlogLayout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">    
    44<style> 
     5.x-date-middle { 
     6    padding-top:2px;padding-bottom:2px; 
     7    width:130px; /* FF3 */ 
     8} 
     9.filter-icon { 
     10    background-image:url(../images/default/search.gif) !important; 
     11} 
     12 
    513html, body { 
    614        font:normal 12px verdana; 
     
    2129    } 
    2230   
    23 div#fixedBottomFooter{ 
    24         height: 37px; 
    25         bottom: 0; 
    26         width: 100%; 
    27         overflow: hidden; 
     31#assignmentPanelPosition{ 
    2832        position: absolute; 
    29         left: 0
    30         z-index: 1
     33        top: 100px
     34        left: 185px
    3135} 
    3236</style> 
    33         <link rel="stylesheet" type="text/css" href="${jSPRootURL}/styles/editable-column-tree.css" /> 
     37        <link rel="stylesheet" type="text/css" href="${jSPRootURL}/src/extjs/resources/css/TreeGrid.css" /> 
    3438        <link rel="stylesheet" type="text/css" href="${jSPRootURL}/styles/Multiselect.css" /> 
    3539         
     
    4448                var assigneeOrassignorParameter = '${assigneeOrassignorParameter}'; 
    4549                var projectOptionsData = ${projectOptionsString}; 
    46                 //document.getElementById('fixedRightTop').style.position = 'relative'; 
    47                 //document.getElementById('fixedRightTop').style.left = '0px'; 
    48                 //document.getElementById('fixedRightTop').style.top = '0px'; 
     50                var businessOptionsData = ${businessOptionsString}; 
    4951                 
    5052        </script>                
    51         <script type="text/javascript" src="${JSPRootURL}/src/components/myAssignments-columnNodeUI.js"></script> 
     53        <script type='text/javascript' src='${JSPRootURL}/src/RowExpander.js'></script> 
     54        <script type="text/javascript" src="${jSPRootURL}/src/extjs/extensions/treeGrid.js"></script> 
    5255        <script type="text/javascript" src="${jSPRootURL}/src/components/Multiselect.js"></script> 
    5356        <script type="text/javascript" src="${jSPRootURL}/src/components/DDView.js"></script> 
    5457        <script type="text/javascript" src="${jSPRootURL}/src/components/myAssignmentFilter-form.js"></script> 
     58        <script type="text/javascript" src="${jSPRootURL}/src/components/myAssignment-treeGrid.js"></script> 
    5559        <script type="text/javascript" src="${JSPRootURL}/src/components/myAssignments-dashboard.js"></script> 
    5660        <script type="text/javascript" src="${JSPRootURL}/src/blogit.js" /> 
    57  
    58         <!-- t:PersonalMenu / --> 
     61        <t:PersonalMenu /> 
    5962        <t:SpaceMainMenu /> 
    60  
    61         <!-- div id="tLeftframe">        
    62                 <table height="30%" width="100%"> 
    63                         <tr> 
    64                                 <td> 
    65                                         <div style="position: absolute; left: 10px;  top:0px; width: 135px; height: 30px;  background-color: #C7C7C7;"> 
    66                                                 <label style=" font-family: Arial,sans-serif; font-weight: bold; font-size: medium; ">My Assignments 
    67                                                 </label> 
    68                                         </div> 
    69                                 </td> 
    70                         </tr> 
    71                         <tr><td height="10">&nbsp;</td></tr> 
    72                         <tr><td  width="100%" align="center"><a style="color:#FF9900;text-decoration:none;" href="#" onclick="openBlogPopup()"><b>Blog It</b></a></td></tr> 
    73                 </table> 
    74         </div -->        
    75         <div style="visibility: hidden;"><t:Footer/></div> 
     63        <div id="tLeftframe"> 
     64        <div id="leftheading-person">Assignments</div> 
     65        <div style="clear: both;"></div> 
     66                <div class="left_column_bottom"> 
     67                <div class="left_column_top"> 
     68                        <div class="group_heading" id="group_heading"> 
     69                                <span><a href="#" onclick="openBlogPopup();">Blog It</a></span> 
     70                        </div> 
     71                </div> 
     72        </div>&nbsp; 
     73        </div> 
     74        <div id ="assignmentPanelPosition"></div> 
    7675        <script type="text/javascript"> 
    77                 document.getElementById('tLeftframe').style.zIndex = "1"; 
    78                 document.getElementById('tLeftframe').style.top = "124px"; 
    79                 document.getElementById('tLeftframe').style.background = "#FFFFFF"; 
     76                document.getElementById('tLeftframe').style.top = '100px'; 
    8077        </script> 
    8178</t:BlogLayout> 
  • trunk/core/web/src/components/myAssignmentFilter-form.js

    r17805 r17838  
    1010var percentCompleteComparator; 
    1111var statusFilter; 
     12var businessCombo; 
    1213 
    1314var allAssignments; 
     
    3233        labelAlign      : 'left', 
    3334        title           : '<b>Filters</b>', 
    34                 height          : 230, 
     35                height          : 250, 
    3536        width           : 560, 
    3637        items           : [{             
     
    141142                                border : false,                                                                                          
    142143                                items : [ 
     144                                        businessCombo = new Ext.form.ComboBox({ 
     145                                                store : new Ext.data.SimpleStore({ 
     146                                                        fields :        ['code', 'desc'],  
     147                                                        data : businessOptionsData 
     148                                                }), 
     149                                                fieldLabel : '<b>Business</b>', 
     150                                                listClass: 'x-combo-list-small', 
     151                                                valueField :'code', 
     152                                                displayField : 'desc', 
     153                                                editable : false, 
     154                                                typeAhead : true, 
     155                                                mode : 'local', 
     156                                                triggerAction : 'all', 
     157                                                value : '', 
     158                                                selectOnFocus : true, 
     159                                                labelSeparator : ':', 
     160                                                listWidth : 140, 
     161                                                width : 100, 
     162                                                listeners:{'select' : function (thisCombo, record, index){ 
     163                                                        if(thisCombo.value != ''){ 
     164                                                                workSpace.setDisabled(true); 
     165                                                        }else{ 
     166                                                                workSpace.setDisabled(false); 
     167                                                        } 
     168                                                }} 
     169                                        }), 
    143170                                   assignorOrAssigneeCombo = new Ext.form.ComboBox({ 
    144171                                        store: new Ext.data.SimpleStore({ 
     
    215242                                        iconCls : 'filter-icon', 
    216243                                        handler : function(){ 
    217                                                 applyFilter     (workSpace.getValue(),  
    218                                                                         assignmentType.getValue(),  
     244                                                applyFilter     ( 
     245                                                                        businessCombo.getValue(), 
     246                                                                        workSpace.getValue(),  
     247                                                                        assignmentType.getValue(), 
    219248                                                                        statusFilter.getValue(),  
    220249                                                                        lateAssignment.getValue(), 
  • trunk/core/web/src/components/myAssignments-dashboard.js

    r17805 r17838  
    3434    }); 
    3535     
    36     assignmentTree = new Ext.tree.ColumnTree({ 
    37                 id: 'assignmentTree',         
    38         height: 400, 
    39         //autoHieght: true, 
    40         rootVisible: false, 
    41         autoScroll: true, 
    42                 expandable: true, 
    43         title: 'Assignments', 
    44         columns:[{ 
    45             header: '<b>Assignment Name</b>', 
    46             width: 360, 
    47             dataIndex: 'objectName' 
    48         },{ 
    49             header: '<b>Due Date</b>', 
    50             width: 95, 
    51             dataIndex: 'dueDate' 
    52         },{ 
    53             header: '<b>Work Remaining</b>', 
    54             width: 95, 
    55             dataIndex: 'workRemaining' 
    56         },{ 
    57             header: '#', 
    58             width: 5, 
    59             dataIndex: 'objectId' 
    60         }], 
    61  
    62         loader: new Ext.tree.TreeLoader({ 
    63                 //dataUrl: JSPRootURL+'/src/components/AssignmentsTreeData.json?module=160', 
    64             dataUrl: JSPRootURL+'/assignments/My/getAssignmentsTreeData?module='+moduleId, 
    65             uiProviders:{ 
    66                 'col': Ext.tree.ColumnNodeUI 
    67             } 
    68         }), 
    69         listeners: { 
    70                     'dblclick' : function(node, e){ 
    71                         assignmentTreeNodeId = node.attributes.objectId; 
    72                         blogit(); 
    73                 }, 
    74                 'expandnode' : function(node, e){ 
    75                         if(!nodeSelect){ 
    76                                 assignmentTree.root.childNodes[0].select(); 
    77                                 nodeSelect = true; 
    78                         } 
    79                 }, 
    80                         scope:this 
    81                 }, 
    82                  
    83         root: new Ext.tree.AsyncTreeNode({ 
    84                                 text: 'Assignments' 
    85                 }) 
    86     }); 
    87      
    88         var te = new Ext.tree.ColumnTreeEditor(assignmentTree,{ 
    89             //completeOnEnter: true, 
    90             //autosize: true, 
    91             //ignoreNoChange: true 
    92     }); 
    93      
    94     assignmentTree.getSelectionModel().on({ 
    95         'beforeselect' : function(sm, node){ 
    96         }, 
    97         'selectionchange' : function(sm, node){ 
    98                 if(node != null && !isNaN(node.attributes.objectId)){ 
    99                         assignmentTreeNodeId = node.attributes.objectId; 
    100                                 loadBlogEntriesForAssignment(); 
    101                         } 
    102         } 
    103     }); 
    104      
    10536    var leftPanel = new Ext.TabPanel({ 
    10637                                region : 'west', 
    10738                                                deferredRender : false, 
    10839                            activeTab: 0, 
    109                             width: '55%', 
    110                             height: 350, 
     40                            width: '69%', 
     41                            height: 420, 
     42                            autoScroll: true, 
    11143                            collapsible : true, 
    112                                     split: true, 
    113                                    items:[assignmentTree], 
    114                         tbar:[ filterForm
     44                               split: true, 
     45                       tbar:[ filterForm ], 
     46                        items:[assignmentTreeGrid
    11547                        }); 
    11648                                 
    11749        var rightPanel = new Ext.TabPanel({ 
    11850                                region : 'center', 
    119                                                 deferredRender : false, 
    12051                            activeTab : 0, 
    121                                    width: '33%', 
    122                             height : 350, 
     52                           width:'31%', 
     53                            height : 420, 
    12354                            items:[ 
    12455                                        blogPanel, 
     
    13364                                        }] 
    13465                        }); 
     66         
     67        var assignmentPanel = new Ext.Panel({ 
     68            resizable :true, 
     69            width:810, 
     70            height:420, 
     71            layout: 'border', 
     72            items: [leftPanel, rightPanel,{region:'east', width: 2}] 
     73        }); 
     74        assignmentPanel.render('assignmentPanelPosition'); 
     75       
     76        assignmentTreeGrid.addListener('rowdblclick', function(grid, rowIndex, e){ 
     77                assignmentTreeNodeId = grid.getStore().getAt(rowIndex).get('objectId'); 
     78                blogit(); 
     79        }); 
     80        assignmentTreeGrid.addListener('rowclick', function(grid, rowIndex, e){ 
     81                assignmentTreeNodeId = grid.getStore().getAt(rowIndex).get('objectId'); 
     82                loadBlogEntriesForAssignment(); 
     83        }); 
     84}); 
    13585 
    136         rightPanel.on({ 
    137                 'collapse' : function(p){                        
    138                         assignmentTree.setWidth(leftPanel.getInnerWidth()); 
    139                         leftPanel.getComponent('assignmentTree').headers.setWidth(leftPanel.getInnerWidth()); 
    140                         leftPanel.getComponent('assignmentTree').columns[0].width = 460; 
    141                         document.getElementById('superdiv').style.width = leftPanel.getInnerWidth(); 
    142                         document.getElementById('superdiv').firstChild.style.width = '458px'; 
    143                         document.getElementById('superdiv').nextSibling.style.width = '655px'; //(leftPanel.getInnerWidth()-20)+'px'; 
    144                         assignmentTree.root.reload();    
    145                     assignmentTree.expandAll(); 
    146                 }, 
    147                 'expand' : function(p){ 
    148                         assignmentTree.setWidth(505); 
    149                         leftPanel.getComponent('assignmentTree').headers.setWidth(leftPanel.getInnerWidth()); 
    150                         leftPanel.getComponent('assignmentTree').columns[0].width = 310; 
    151                         document.getElementById('superdiv').style.width = leftPanel.getInnerWidth(); 
    152                         document.getElementById('superdiv').firstChild.style.width = '308px';                    
    153                         document.getElementById('superdiv').nextSibling.style.width = leftPanel.getInnerWidth();                         
    154                         assignmentTree.root.reload();    
    155                         assignmentTree.expandAll(); 
    156                 } 
    157         }); 
    158      
    159     var viewport = new Ext.Viewport({ 
    160           layout: 'border', 
    161           items:[ 
    162                                 {region:'north', height: 20}, 
    163                             {region:'east', width: 165}, 
    164                             { 
    165                                 region: 'south',                                 
    166                                 collapsible: false, 
    167                                 html: document.getElementById('fixedBottomFooter').innerHTML, 
    168                                 height: 120 
    169                         }, 
    170                             leftPanel, 
    171                             rightPanel    
    172            ] 
    173       }); 
    174       viewport.setPagePosition(155,60); 
    175       assignmentTree.expandAll(); 
    176        
    177 }); 
     86/*function expandAllRow(){ 
     87        expandRow(rc) 
     88}*/ 
    17889 
    17990function loadBlogEntriesForAssignment(){ 
     
    192103} 
    193104 
    194 function applyFilter(projects, assignmentTypes, statusId, lateAssignment,comingDueDate,shouldHaveStart,inProgress,startDate,endDate,percentCompleteComparator,percentComplete,assignmentNameComparator,assignmentName){ 
     105function applyFilter(business, projects, assignmentTypes, statusId, lateAssignment,comingDueDate,shouldHaveStart,inProgress,startDate,endDate,percentCompleteComparator,percentComplete,assignmentNameComparator,assignmentName){ 
    195106        var startDateString = ''; 
    196107                var endDateString = ''; 
     
    202113                        endDateString = (endDate.getMonth()+1)+'/'+endDate.getDate()+'/'+endDate.getFullYear() 
    203114                } 
    204          
     115        if(business != ''){ 
     116                projects = ''; 
     117        } 
    205118        Ext.Ajax.request({ 
    206119                   url: JSPRootURL+'/assignments/My/setFilterParameter', 
    207120                   params: {module: moduleId,  
    208121                                        assigneeOrAssignor: assignorOrAssigneeCombo.value, 
     122                                        business: business, 
    209123                                        projects: projects, 
    210124                                        assignmentTypes : assignmentTypes, 
     
    224138                   success: function(result, request){ 
    225139                                nodeSelect = false; 
    226                                 assignmentTree.root.reload(); 
    227                                 assignmentTree.expandAll(); 
    228                                 assigneeOrassignorParameter = assignorOrAssigneeCombo.value; 
     140                                assignmentTreeGrid.getStore().reload(); 
     141                                assignmentTreeGrid.getView().refresh(); 
    229142                   }, 
    230143                   failure: function(result, response){ 
     
    238151                blogit(); 
    239152        } else{ 
    240                 extAlert('Error', 'Please select a assignmet to Blog It.', Ext.MessageBox.ERROR); 
     153                extAlert('Error', 'Please select an assignment to Blog It.', Ext.MessageBox.ERROR); 
    241154                return; 
    242155        }