#208 Automatic left frame width

closed-rejected
nobody
Interface (183)
5
2005-03-11
2004-09-24
No

RFE 954344 is about automatically adjusting the left frame
width to fit the longest table name. The suggested solution
was to figure out the width by using known widths of certain
letters and estimating. The solution was rejected because
the information would have had to have been available at
frameset generation time, which means the frameset would
need to reload itself every time a new table was loaded.
The width estimation method was also a little squirrelly.

In PMA 2.6.0 we now have code from Michael Keck which
recalculates the frameset height for the upper left frame
to make it fit regardless of the browser's font size. I have
adapted this code to provide automatic width adjustment
for the left bottom frame. $cfg['LeftWidth'], which is now
theme-specific, is now used as the minimum width, and
if the table names would not fit into that width, then the
width of the frame is increased.

It works in Safari 1.2.3 and Firefox 1.0PR and I expect
it would work fine in IE Win, other Mozillas, and Opera,
although I have not tested that. It does not work well
enough in IE Mac, so it is disabled for that browser.

Would you maybe consider this for 2.6.1? It would need
to be tested in other browsers first.

Discussion

  • Michal Čihař

    Michal Čihař - 2004-09-24

    Logged In: YES
    user_id=192186

    What would happen if I have some table with very long name?
    It will eat all space or is there some limit? (I haven't
    look at the patch yet)

     
  • Ryan Schmidt

    Ryan Schmidt - 2004-09-24

    Logged In: YES
    user_id=838923

    There is no upper limit on the width, so yes, a very long
    table name would make the frame very wide.

    We could add a limiter so that the maximum width would
    be some multiple of LeftWidth, like 1.5 or 2.

    If we were looking for things to add to the config file, we
    could add a MaxLeftWidth setting, or a setting to turn the
    automatic adjustment off entirely. I personally don't think
    we need that (I know we're trying to remove config options
    rather than add new ones) but others might disagree...

     
  • Michael Keck

    Michael Keck - 2004-09-25

    Logged In: YES
    user_id=224032

    Perhabs it may be better to check the width of queryframe
    first (if users use it):
    The queryframe doesn't have any scollbar by default, if we
    have very long db-names the left frameset could be resized in
    the width with Ryans patch.
    To resize the left frameset by the the longest table name will
    be a problem for me: We have an option to show the
    comment (tooltipp) as table link instead of the tablename. So
    the leftframe width will be increased to much.

    Ryan:
    you can check the container width, as we do with its height.
    If it bigger than e.g. 250 you can set it to default width e.g.
    250

     
  • Ryan Schmidt

    Ryan Schmidt - 2005-01-23

    Logged In: YES
    user_id=838923

    I want this feature in phpMyAdmin, so I'd like to ask for
    input on what I should change in my patch to make it
    acceptable for inclusion.

    Michael, I didn't fully understand what you wrote, in
    particular your last paragraph about the 250px. As I
    understand you, you're saying:

    - Automatic resizing is useful and should be implemented.

    - It should not always autoresize to the width of the
    longest table name, because comments may be used instead of
    the actual table name, which might be considerably longer.
    In this case, what limit should be placed on the width? Is
    this a new configuration variable like MaxLeftWidth or is
    this a computation like LeftWidth * 2 or is this something
    else entirely?

    - The user may have changed the left width manually by
    dragging the separator between the frames. In this case,
    what is the proposed behavior? Should, on selection of a
    new database with different table widths, the frame be
    resized automatically, as in the current version of my
    patch, or should the width be kept the way the user set it?

    Another important question:

    - Does anybody not want this feature? Do we need a
    config.ini option to turn it off?

     
  • Michael Keck

    Michael Keck - 2005-03-08

    Logged In: YES
    user_id=224032

    Hi Ryan,

    I've made some tests and my opinion is, not resizing the
    left frame automatic, because it will decrease the
    perfomance of the pma.

    It's to difficult, to check when we should resizing the left
    frame. Perhabs it should be only resized, if add a new
    database or table?
    Many checks must be done before the frameset could be resized.

    Resizing the left-frame width means:
    - resizing the with of query-frame to
    - every time, a user make changes on his/her databases
    or tables, the width must be resized to
    all this things makes the work with pma slower ...

    I think that will be to much.

    I may be wrong if any one have a good solution or if others
    / team-members are thinking "resizing width of left frame is
    a must".

    Regards

    Michael

     
  • Michal Čihař

    Michal Čihař - 2005-03-09

    Logged In: YES
    user_id=192186

    I feel it is not needed at all, at least I didn't miss such
    feature since now.

     
  • Marc Delisle

    Marc Delisle - 2005-03-11
    • status: open --> closed-rejected