expand macro expands all nested expands

XMLWordPrintable

      The expand-macro.js is pulling a list of all child elements rather than just taking the first one, adding .first() to the end of the expanderContent definition resolves this and allows inner expands to behave as expected.

      src:

      AJS.toInit(function ($) {
          // preload open image
          // contextPath will be expanded by the cssSubstituionTransformer
          new Image().src = "@contextPath/images/icons/grey_arrow_down.gif";
      
          function expand(e) {
              var expander = $(this),
                  expanderIcon = $(".expand-control-icon", expander),
                  expanderContent = $(".expand-content", expander.closest(".expand-container")).first();
      
              if (e.type == "click" || (e.type == "keyup" && e.keyCode == 13)) {
                  if (expanderContent.hasClass("expand-hidden")) {
                      // open
                      expanderContent.fadeIn("fast");
                  } else {
                      // close
                      expanderContent.fadeOut("fast")
                  }
                  
                  expanderContent.toggleClass("expand-hidden");
                  expanderIcon.toggleClass("expanded");
              }
          }
          
          $(".expand-control").click(expand).keyup(expand);
      });
      

            Assignee:
            Unassigned
            Reporter:
            Alain Moran
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: