Changeset 7443


Ignore:
Timestamp:
Feb 19, 2018, 1:42:01 PM (4 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #2109: Name of item list in the item list filter is truncated

Location:
branches/3.11-stable/www/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/3.11-stable/www/include/scripts/main-2.js

    r7421 r7443  
    38323832    // Position the dropdown
    38333833    var pos = select.getFixedDropDownPosition(element);
    3834     dropdownDiv.style.width = (pos.width)+'px';
    3835     dropdownDiv.style.left = (pos.left)+'px';
    3836  
     3834    dropdownDiv.style.left = pos.left;
     3835    dropdownDiv.style.right = pos.right;
     3836    dropdownDiv.style.width = pos.width;
     3837    dropdownDiv.style.minWidth = pos.minWidth;
     3838    dropdownDiv.style.maxWidth = pos.maxWidth;
     3839
    38373840    // Show it
    38383841    Doc.addClass(element, 'active');
     
    38523855    // Position the dropdown div relative the  main element
    38533856    var fpos = Doc.getElementPosition(element);
    3854    
    3855     // Assume the same as the main element
     3857
    38563858    var dpos = {};
    3857     dpos.left = fpos.left+1;
    3858     dpos.width = fpos.width;
    3859    
    3860     if (dpos.width < 150)
    3861     {
    3862       // The dropdown should be at least 150px wide.
    3863       dpos.width = 150;
    3864      
     3859
     3860    // The default is to make the drop-down the same size as the filter
     3861    dpos.left = (fpos.left+1)+'px';
     3862    dpos.width = (fpos.width)+'px';
     3863    dpos.right = 'auto';
     3864    dpos.minWidth = (Math.max(fpos.width, 150))+'px';
     3865    dpos.maxWidth = 'auto';
     3866   
     3867    if (fpos.width < 300)
     3868    {
     3869      // If the width is smaller than 300 we should open up either
     3870      // to the left or to the right, we need to check how close we are to
     3871      // the right side
    38653872      try
    38663873      {
     
    38743881        }
    38753882        if (p==null) p = document.body;
    3876        
     3883
    38773884        // Get position data for the parent
    3878         // +30 should be safe to account for a scrollbar
     3885        // +16 should be safe to account for a scrollbar
    38793886        var ppos = Doc.getElementPosition(p);
    3880         var scrollbar = p.scrollHeight > p.clientHeight ? 30 : 0;
     3887        var scrollbar = p.scrollHeight > p.clientHeight ? 16 : 0;
    38813888        var maxRight = ppos.width + p.scrollLeft - scrollbar;
    3882        
    3883         // Right-align the dropdown if it overflows
    3884         if (dpos.left + dpos.width > maxRight)
     3889
     3890        dpos.width = 'auto';
     3891        dpos.maxWidth = '300px';
     3892        if (fpos.left + 300 > maxRight)
    38853893        {
    3886           dpos.left = fpos.right - 148;
     3894          // Align to right
     3895          dpos.left = 'auto';
     3896          dpos.right = (ppos.right-fpos.right-scrollbar)+'px';
    38873897          if (fpos.right > maxRight)
    38883898          {
     
    39023912      }
    39033913    }
    3904    
    39053914    return dpos;
    39063915  }
     
    40614070      optionDiv.innerHTML = options[i].value;
    40624071      options[i].div = optionDiv;
     4072      optionDiv.title = options[i].value;
    40634073      allOptionsDiv.appendChild(optionDiv);
    40644074      Events.addEventHandler(optionDiv, 'click', internal.optionOnClick);
     
    42514261    // Position the dropdown
    42524262    var pos = select.getFixedDropDownPosition(activeSelect);
    4253     dropdownDiv.style.width = (pos.width)+'px';
    4254     dropdownDiv.style.left = (pos.left)+'px';
     4263    dropdownDiv.style.left = pos.left;
     4264    dropdownDiv.style.right = pos.right;
     4265    dropdownDiv.style.width = pos.width;
     4266    dropdownDiv.style.minWidth = pos.minWidth;
     4267    dropdownDiv.style.maxWidth = pos.maxWidth;
    42554268  }
    42564269 
     
    42964309    // Position the dropdown
    42974310    var pos = MultiSelect.getFixedDropDownPosition(element);
    4298     dropdownDiv.style.width = (pos.width)+'px';
    4299     dropdownDiv.style.left = (pos.left)+'px';
     4311    dropdownDiv.style.left = pos.left;
     4312    dropdownDiv.style.right = pos.right;
     4313    dropdownDiv.style.width = pos.width;
     4314    dropdownDiv.style.minWidth = pos.minWidth;
     4315    dropdownDiv.style.maxWidth = pos.maxWidth;
    43004316   
    43014317    // Show it
     
    46474663    // Position the dropdown
    46484664    var pos = MultiSelect.getFixedDropDownPosition(activeEnum);
    4649     dropdownDiv.style.width = (pos.width)+'px';
    4650     dropdownDiv.style.left = (pos.left)+'px';
     4665    dropdownDiv.style.left = pos.left;
     4666    dropdownDiv.style.right = pos.right;
     4667    dropdownDiv.style.width = pos.width;
     4668    dropdownDiv.style.minWidth = pos.minWidth;
     4669    dropdownDiv.style.maxWidth = pos.maxWidth;
    46514670  }
    46524671 
  • branches/3.11-stable/www/include/styles/main.css

    r7335 r7443  
    977977  margin-left: -2px;
    978978  margin-top: 2px;
     979  min-width: 150px;
    979980}
    980981
    981982div.smartenum
    982983{
    983   height: 20em;
     984  min-height: 15em;
     985  max-height: 30em;
    984986}
    985987
     
    10451047.multioptionoptions
    10461048{
    1047   height: 20em;
     1049  min-height: 15em;
     1050  max-height: 30em;
    10481051  overflow: auto;
    10491052}
Note: See TracChangeset for help on using the changeset viewer.