FLUID-4500: Checkbox sub-labels overlap labels in Fat Panel, FF

Metadata

Source
FLUID-4500
Type
Bug
Priority
Blocker
Status
Closed
Resolution
Fixed
Assignee
Justin Obara
Reporter
Anastasia Cheetham
Created
2011-10-03T17:17:01.757-0400
Updated
2011-10-14T16:09:52.140-0400
Versions
N/A
Fixed Versions
  1. 1.4
Component
  1. UI Options

Description

In the Fat Panel UIO, on the two tabs that have checkboxes, the label subtext is overlapping the actual text i.e. there's not enough line spacing, I think.

Environments

FF3.6, FF6 and FF7, Windows and Mac

Attachments

Comments

  • Anastasia Cheetham commented 2011-10-03T17:20:37.574-0400

    These two files (uio-overlapping-labels*) show the problem in FF6 and FF7, on Windows and Mac respectively.

  • Anastasia Cheetham commented 2011-10-03T19:14:16.277-0400

    I've just tested this in FF3.6 on Mac OS 10.5 and it happens here too.

  • Justin Obara commented 2011-10-04T13:28:22.072-0400

    Merged Cindy's pull request https://github.com/fluid-project/infusion/pull/182 into the project repo at be56c4ea6e29f18869d44972a63805d69255948a

  • Michelle D'Souza commented 2011-10-04T14:59:39.725-0400

    Conversation on the underlying timing issue and fix happened in irc: http://wiki.fluidproject.org/display/fluid/fluid-work+IRC+Logs-2011-10-04

  • Antranig Basman commented 2011-10-04T15:32:31.184-0400

    The complexity of the implementation has been pushed over a critical threshhold by this fix - this function

    fluid.uiEnhancer.lineSpacer.set = function (times, that) {
    if (!that.initialSize) {
    that.calcInitSize();
    }

    // that.initialSize equals 0 when the line-height value on the container is un-detectable,
    // which is to fix http://issues.fluidproject.org/browse/FLUID-4500
    // @ See fluid.uiEnhancer.numerizeLineHeight()
    if (that.initialSize > 0) {
    var newLineSpacing = times === "" || times === 1 ? that.initialSize : times * that.initialSize;
    that.container.css("line-height", newLineSpacing + "em");
    }
    };

    always had a slightly unclear contract, and now its fundamental action, which should just consist of line 490 which updates the CSS setting, is obscured by an amount of stateful "model normalisation code".

    There should be a clear workflow where values "times", "lineSpacing", and "initialSize" are all assigned valid values (that is, numeric ones of the appropriate scale) at one point in time, preferably in a self-contained function for this purpose - and it would probably be better to encode the validity of the container originally responsible for FLUID-4500 in a dedicated boolean flag named for the purpose, rather than encoding it as an invalid value in one or more of the fields measured from the container.

  • Antranig Basman commented 2011-10-05T15:44:21.086-0400

    Revised fix pushed to trunk