Changeset 4823


Ignore:
Timestamp:
Mar 19, 2009, 4:08:24 PM (13 years ago)
Author:
Martin Svensson
Message:

References #1240. The node-icons are getting updated when expanding the item-tree and an error or warning appears.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/core/net/sf/basedb/util/overview/validator/AnnotationValidator.java

    r4761 r4823  
    8383    super.postValidate(dc, context, node, parentNode);
    8484    if (parentNode.getNodeType() == Node.Type.FOLDER) parentNode = parentNode.getParent();
    85     Annotatable parent = (Annotatable)parentNode.getItem();
     85    Annotatable parent = (Annotatable)parentNode.getItem(dc);
    8686    Item parentItemType = parentNode.getItemType();
    8787    AnnotationSet annotationSet = parent.getAnnotationSet();
  • trunk/www/common/overview/ajax.jsp

    r4816 r4823  
    4747    Node parent = overview.getNode("N"+nodeId);
    4848    overview.expand(dc, parent, false);
     49    overview.updateFailureCountOnNodes();
    4950    if (parent != null && parent.numChildren() > 0)
    5051    {
     52      String parentIconSuffix = "";
     53      String parentTooltip = "";
     54      int errors = parent.getNumErrors();
     55      int warnings = parent.getNumWarnings();
     56      if (errors > 0)
     57      {
     58        parentIconSuffix = "Error";
     59        parentTooltip = errors + " error(s) on this item";
     60      }
     61      else if (warnings > 0)
     62      {     
     63        parentIconSuffix = "Warning";
     64        parentTooltip = warnings + " warning(s) on this item";
     65      }
    5166      for (Node n : parent.getChildren())
    52       {     
    53         int errors = n.getNumErrors();
    54         int warnings = n.getNumWarnings();
    55         int childErrors = n.getChildErrors();
    56         int childWarnings = n.getChildWarnings();
    57        
     67      {       
    5868        String folderIcon = n.getNodeType() == Node.Type.FOLDER ? "Folder" : "Item";
    5969        if (n.getItemType() == Item.ANNOTATIONTYPE && parent.getItemType() == Item.PROTOCOL)
     
    6474        {
    6575          folderIcon = "Annotation";
    66         }
    67         if (errors > 0)
    68         {
    69           folderIcon += "Error";
    70         }
    71         else if (warnings > 0)
    72         {
    73           folderIcon += "Warning";
    74         }
    75         else if(childErrors > 0)
    76         {
    77           folderIcon += "ChildError";
    78         }
    79         else if (childWarnings > 0)
    80         {
    81           folderIcon += "ChildWarning";
    82         }
     76        }       
    8377        String tooltip = "";
    84         if (warnings > 0 && errors > 0)
    85         {
    86           tooltip += errors + " error(s); " + warnings + " warning(s) on this item";
    87         }
    88         else if (errors > 0)
    89         {
    90           tooltip += errors + " error(s) on this item";
    91         }
    92         else if (warnings > 0)
    93         {
    94           tooltip += warnings + " warning(s) on this item";
    95         }
    96         if (childErrors > 0 && childWarnings > 0)
    97         {
    98           if (tooltip.length() > 0) tooltip += "; ";
    99           tooltip += childErrors + " error(s); " + childWarnings + " warning(s) on child items";
    100         }
    101         else if (childErrors > 0)
    102         {
    103           if (tooltip.length() > 0) tooltip += "; ";
    104           tooltip += childErrors + " error(s) on child items";
    105         }
    106         else if (childWarnings > 0)
    107         {
    108           if (tooltip.length() > 0) tooltip += "; ";
    109           tooltip += childWarnings + " warning(s) on child items";
    110         }
    11178        int numChildren = n.getChildren() == null ?
    11279          0 : n.getChildren().size();
     
    11683hashCode  <%=n.hashCode()%>
    11784folderIcon  <%=folderIcon %>
     85parentIconSuffix  <%=parentIconSuffix%>
    11886tooltip <%=tooltip%>
     87parentTooltip <%=parentTooltip%>
    11988end
    12089<%
  • trunk/www/common/overview/index.jsp

    r4816 r4823  
    7979        null : Project.getById(dc, sc.getActiveProjectId());
    8080    GenericOverview overview = OverviewUtil.getNewOverview(dc, item, project);   
    81     overview.expand(dc, overview.getRootNode(), false);
    82     System.out.print("test");
     81    overview.expand(dc, overview.getRootNode(), true);
    8382    overview.updateFailureCountOnNodes();
    8483    dc.close();
  • trunk/www/common/overview/tree.jsp

    r4816 r4823  
    237237    var kv = new Array();
    238238    var numAdded = 0;
    239     var parent = JoustMenu.menuItems['N' + nodeId];
     239    var parentMenu = JoustMenu.menuItems['N' + nodeId];
    240240    for (var i=0; i<response.length; i++)
    241241    {
     
    244244      {
    245245        var id = kv['id'];
     246        var folderIcon = kv['folderIcon'];       
     247        var parentIconSuffix = kv['parentIconSuffix'];
    246248        numAdded++;
    247         JoustMenu.addLazyChildItem(parent.index, kv['folderIcon'], kv['title'], 'showInfo(\''+id+'\')', kv['tooltip'], id, 'lazyInitSubNode('+kv['hashCode']+')');
     249        var node = JoustMenu.addLazyChildItem(
     250              parentMenu.index, folderIcon, kv['title'], 'showInfo(\''+id+'\')',
     251                kv['tooltip'], id, 'lazyInitSubNode('+kv['hashCode']+')');
     252       
     253        if (parentIconSuffix)
     254        {
     255          changeParentIcons(parentMenu, parentIconSuffix, kv['parentTooltip']);         
     256          JoustMenu.menuItems['0'].iconName = parentIconSuffix;                             
     257          JoustMenu.updateIconsAndText(parentMenu.index, true);
     258          reloadSiblingFrames();
     259        }
    248260      }
    249261      else
     
    253265      }
    254266    }
    255     //alert(numAdded);
    256267    return numAdded > 0;         
    257268  }
     269
     270  function reloadSiblingFrames()
     271  {
     272    parent.frames.failures.location.reload();
     273    parent.frames.info.location.reload();
     274  }
     275
     276  function changeParentIcons(menuItem, iconSuffix, tooltip)
     277  {
     278    menuItem.tooltip = tooltip;
     279    var currentIcon = menuItem.iconName;   
     280    if (currentIcon.indexOf('Error') < 0 && currentIcon.indexOf('Warning') < 0)
     281    {
     282      menuItem.iconName += iconSuffix;
     283    }
     284    else if (iconSuffix == 'Error')
     285    {
     286      menuItem.iconName = currentIcon.replace(/ChildError/, iconSuffix);
     287      menuItem.iconName = currentIcon.replace(/ChildWarning/, iconSuffix);
     288      menuItem.iconName = currentIcon.replace(/Warning/, iconSuffix);
     289    }
     290    else if (iconSuffix == 'Warning')
     291    {
     292      menuItem.iconName = currentIcon.replace(/ChildError/, iconSuffix);
     293      menuItem.iconName = currentIcon.replace(/ChildWarning/, iconSuffix);           
     294    }
     295    updateIconRecursively(menuItem.parentItemIndex, 'Child'+iconSuffix);
     296  }
     297
     298  function updateIconRecursively(itemIndex, newIconSuffix)
     299  {   
     300    var item = JoustMenu.menuItems[itemIndex];
     301    var currentIcon = item.iconName;
     302    if (currentIcon.indexOf('Error') < 0 && currentIcon.indexOf('Warning') < 0)
     303    {
     304      item.iconName += newIconSuffix;
     305    }
     306    else if (newIconSuffix == 'ChildError')
     307    {
     308      item.iconName = currentIcon.replace(/ChildWarning/, newIconSuffix);
     309    }
     310    if (item.parentItemIndex > 0)
     311    {
     312      updateIconRecursively(item.parentItemIndex, newIconSuffix);
     313    }
     314  }
     315 
    258316  </script>
    259317  </base:head>
  • trunk/www/include/scripts/newjoust.js

    r4797 r4823  
    301301    @param menuItemIndex The index of the menu item to update
    302302  */
    303   this.updateIconsAndText = function(menuItemIndex)
     303  this.updateIconsAndText = function(menuItemIndex, recursive)
    304304  {
    305305    var menuItem = this.menuItems[menuItemIndex];
    306306    if (!menuItem) return;
    307    
     307    if (recursive)
     308    {
     309      this.updateIconsAndText(menuItem.parentItemIndex, recursive);
     310    }
    308311    var outlineImg = document.getElementById('outlineIcon'+menuItem.index);
    309312    if (outlineImg)
     
    329332        Main.removeClass(text, 'selected');
    330333      }
    331     }
     334    }   
    332335  }
    333336}
Note: See TracChangeset for help on using the changeset viewer.