diff options
| author | Mark Christian | 2011-04-05 09:00:41 -0700 | 
|---|---|---|
| committer | Mark Christian | 2011-04-05 09:00:41 -0700 | 
| commit | 2021eccf173e30f4204ace8542cd1bafaea13c76 (patch) | |
| tree | 02023dcde04490c01c19c495d6a54e72767b4ec3 | |
| parent | bb9fac54096e4afe2f4f460fdb5129beca9e8a88 (diff) | |
| download | ffffallback-2021eccf173e30f4204ace8542cd1bafaea13c76.tar.bz2 | |
Support for setting font/styles on entire fallback body
| -rw-r--r-- | bookmarklet/ffffallback.js | 40 | 
1 files changed, 23 insertions, 17 deletions
| diff --git a/bookmarklet/ffffallback.js b/bookmarklet/ffffallback.js index 11f5650..11bcb60 100644 --- a/bookmarklet/ffffallback.js +++ b/bookmarklet/ffffallback.js @@ -230,7 +230,7 @@      $.each(cssObject, function(declarations, selector) {        cssText += '#ffffallback-content-container ' + selector + ' {\n'; -      cssText += 'color: magenta !important;'; +      cssText += '  color: magenta !important;\n';        $.each(declarations, function(value, key) {          if(key === 'x-more') {            cssText += '  ' + value + ';\n'; @@ -313,26 +313,31 @@      window.addEventListener('resize', resizeController, false);      resizeController(); -    var fontClass, row; -    $.each($.getAllFontsInUse(document.body), function(font) { -      fontClass = $.getClassForFont(font); -      row = $.createElementWithContent('li', '<b>' + font + '</b><input type="text" value="" placeholder="Fallback font" class="ffffallback-specify-font" data:font-class="' + fontClass + '" /><a href="#" class="ffffallback-disclosure"><span>▼</span></a><textarea class="ffffallback-more-values" placeholder="e.g. line-height: 1.75;"></textarea>'); +    function addRowWithContent(content) { +      var row = $.createElementWithContent('li', content);        row.setAttribute('class', 'collapsed'); -      (function(row) { -        $.event(row.getElementsByClassName('ffffallback-disclosure')[0], 'click', function() { -          if($.isClassOnElement('collapsed', row)) { -            $.addClassToElement('expanded', row); -            $.removeClassFromElement('collapsed', row); -          } else { -            $.addClassToElement('collapsed', row); -            $.removeClassFromElement('expanded', row); -          } -        }); -      })(row); +      $.event(row.getElementsByClassName('ffffallback-disclosure')[0], 'click', function() { +        if($.isClassOnElement('collapsed', row)) { +          $.addClassToElement('expanded', row); +          $.removeClassFromElement('collapsed', row); +        } else { +          $.addClassToElement('collapsed', row); +          $.removeClassFromElement('expanded', row); +        } +      });        fontList.appendChild(row); + +      return row; +    } + +    var fontClass, row; +    $.each($.getAllFontsInUse(document.body), function(font) { +      fontClass = $.getClassForFont(font); +      addRowWithContent('<b>' + font + '</b><input type="text" value="" placeholder="Fallback font" class="ffffallback-specify-font" data:font-class="' + fontClass + '" /><a href="#" class="ffffallback-disclosure"><span>▼</span></a><textarea class="ffffallback-more-values" placeholder="e.g. line-height: 1.75;"></textarea>');      }); +    addRowWithContent('<b>Entire fallback body</b><input type="text" value="" placeholder="Fallback font" class="ffffallback-specify-font" data:font-class="*" /><a href="#" class="ffffallback-disclosure"><span>▼</span></a><textarea class="ffffallback-more-values" placeholder="e.g. line-height: 1.75;"></textarea>');      $.event(document.getElementById('ffffallback-display-mode-original'), 'click', function() {        $.removeClassFromElement('ffffallback-hide-original', document.body); @@ -378,12 +383,13 @@          }          var moreTextArea = fontInput.parentNode.getElementsByClassName('ffffallback-more-values')[0];          var className = fontInput.getAttribute('data:font-class'); +        var selector = (className === '*') ? '*' : ('.' + className);          var value = $.trimString(fontInput.value);          var moreValues = $.trimString(moreTextArea.value);          if(!value && !moreValues) {            return;          } -        cssDeclarations['.' + className] = { +        cssDeclarations[selector] = {            //  TODO: 'font' instead of font-family?            'font-family': value,            'x-more': moreValues | 
