Home | History | Annotate | Download | only in resources
      1 <!DOCTYPE HTML>
      2 <html i18n-values="dir:textdirection;"><head>
      3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      4 <title i18n-content="title"></title>
      5 
      6 <style>
      7 body {
      8   font-size: 84%;
      9   font-family: Arial, Helvetica, sans-serif;
     10   padding: 0.75em;
     11   margin: 0;
     12   min-width: 45em;
     13 }
     14 
     15 h1, h2 {
     16  font-size: 120%;
     17  letter-spacing: -1px;
     18  margin: 0;
     19 }
     20 
     21 h1 {
     22   font-weight: bold;
     23   color: #4a8ee6;
     24   padding: 0;
     25 }
     26 
     27 h2 {
     28   font-weight: normal;
     29   padding: 0.5em 1em;
     30   color: #3a75bd;
     31   -webkit-margin-start: -38px;
     32   -webkit-padding-start: 38px;
     33   border-top: 1px solid #3a75bd;
     34   padding-top: 0.5em;
     35 }
     36 
     37 h2:first-child {
     38   border-top: 0;
     39   padding-top: 0;
     40   float: left;
     41   vertical-align: text-bottom;
     42 }
     43 
     44 #header {
     45   padding: 0.6em 1em 0.75em 0;
     46   margin-bottom: 0.75em;
     47   position: relative;
     48   overflow: hidden;
     49   background: #5296de;
     50   background-size: 100%;
     51   border: 1px solid #3a75bd;
     52   border-radius: 6px;
     53   color: white;
     54   text-shadow: 0 0 2px black;
     55 }
     56 
     57 html[dir='rtl'] #header {
     58   padding: 0.6em 0 0.75em 1em;
     59 }
     60 
     61 #header h1 {
     62   -webkit-padding-start: 3em;
     63   margin: 0;
     64   display: inline;
     65   background: url('shared/images/gear.png') no-repeat;
     66   background-position: 12px 60%;
     67   color: white;
     68 }
     69 
     70 html[dir='rtl'] #header h1 {
     71   background-position-left: auto;
     72   backgroun-position-right: 12px;
     73 }
     74 
     75 #header p {
     76   font-size: 84%;
     77   font-style: italic;
     78   padding: 0;
     79   margin: 0;
     80   color: white;
     81   -webkit-padding-start: 0.4em;
     82   display: inline;
     83 }
     84 
     85 .list {
     86   line-height: 200%;
     87   border-collapse: collapse;
     88   font-size: 84%;
     89   table-layout: fixed;
     90   width: 100%;
     91 }
     92 .list:not(.filtered) tr:nth-child(odd) td {
     93   background: #eff3ff;
     94 }
     95 
     96 .list td {
     97   padding: 0 0.5em;
     98   vertical-align: top;
     99   line-height: 1.4em;
    100   padding-top: 0.35em;
    101   font-family: 'Courier New', monospace;
    102   white-space: pre;
    103 }
    104 
    105 .list tr td:nth-last-child(1),
    106 .list tr th:nth-last-child(1) {
    107   -webkit-padding-end: 1em;
    108 }
    109 
    110 .list:not(.filtered) .tab .name {
    111   -webkit-padding-start: 1.5em;
    112 }
    113 
    114 .list .name {
    115   width: 20%;
    116 }
    117 
    118 .list .button_cell {
    119   width: 7%;
    120 }
    121 
    122 .list .name div {
    123   height: 1.6em;
    124   overflow: hidden;
    125   white-space: nowrap;
    126   text-overflow: ellipsis;
    127 }
    128 
    129 .button_hidden {
    130   display: none;
    131 }
    132 
    133 .number_expanded, .number_collapsed  {
    134   text-align: left;
    135   width: 80%;
    136 }
    137 
    138 html[dir='rtl'] .number_expanded, html[dir='rtl'] .number_collapsed  {
    139   text-align: right;
    140 }
    141 
    142 tr:not(.firstRow) > *:nth-child(1),
    143 tr:not(.firstRow) > *:nth-child(2),
    144 tr.firstRow th:nth-child(1),
    145 tr.firstRow th:nth-child(2) {
    146   -webkit-border-end: 1px solid #b5c6de;
    147 }
    148 
    149 .name {
    150   background-position: 5em center;
    151   background-repeat: no-repeat;
    152 }
    153 
    154 html[dir='rtl'] #details .name {
    155   background-position-left: auto;
    156   background-position-right: 5em;
    157 }
    158 
    159 .number_collapsed .stat_value {
    160   display: none;
    161 }
    162 
    163 .number_expanded .stat_value {
    164   display: auto;
    165 }
    166 
    167 #anchor {
    168   display: none;
    169 }
    170 
    171 .globalButton {
    172   float: left;
    173   margin: 1px 5px;
    174 }
    175 
    176 html[dir='rtl'] .globalButton {
    177   float: right;
    178 }
    179 </style>
    180 <script src="shared/js/local_strings.js"></script>
    181 <script>
    182 var localStrings;
    183 
    184 function getValueDivForButton(button) {
    185   return document.getElementById(button.id.substr(0, button.id.length - 4));
    186 }
    187 
    188 function getButtonForValueDiv(valueDiv) {
    189   return document.getElementById(valueDiv.id + '-btn');
    190 }
    191 
    192 function changeCollapsedStatus() {
    193   var valueDiv = getValueDivForButton(this);
    194   if (valueDiv.parentNode.className == 'number_collapsed') {
    195     valueDiv.parentNode.className = 'number_expanded';
    196     this.textContent = localStrings.getString('collapse_btn');
    197   } else {
    198     valueDiv.parentNode.className = 'number_collapsed';
    199     this.textContent = localStrings.getString('expand_btn');
    200   }
    201 }
    202 
    203 function collapseAll() {
    204   var valueDivs = document.getElementsByClassName('stat_value');
    205   for(var i = 0; i < valueDivs.length; i++) {
    206     var button = getButtonForValueDiv(valueDivs[i]);
    207     if (button && button.className != 'button_hidden') {
    208       button.textContent = localStrings.getString('expand_btn');
    209       valueDivs[i].parentNode.className = 'number_collapsed';
    210     }
    211   }
    212 }
    213 
    214 function expandAll() {
    215   var valueDivs = document.getElementsByClassName('stat_value');
    216   for(var i = 0; i < valueDivs.length; i++) {
    217     var button = getButtonForValueDiv(valueDivs[i]);
    218     if (button && button.className != 'button_hidden') {
    219       button.textContent = localStrings.getString('collapse_btn');
    220       valueDivs[i].parentNode.className = 'number_expanded';
    221     }
    222   }
    223 }
    224 
    225 document.addEventListener('DOMContentLoaded', function() {
    226   localStrings = new LocalStrings();    
    227     
    228   var collapseAllBtn = document.getElementById('collapseAll');
    229   collapseAllBtn.onclick = collapseAll;
    230   
    231   var expandAllBtn = document.getElementById('expandAll');
    232   expandAllBtn.onclick = expandAll;
    233   
    234   var anchorName = document.getElementById('anchor').textContent;
    235   var valueDivs = document.getElementsByClassName('stat_value');
    236   for(var i = 0; i < valueDivs.length; i++) {
    237     var button = getButtonForValueDiv(valueDivs[i]);
    238     button.onclick = changeCollapsedStatus;
    239     if (valueDivs[i].textContent.split('\n').length > 1) {
    240       button.textContent = localStrings.getString('expand_btn');
    241       valueDivs[i].parentNode.className = 'number_collapsed';
    242     } else {
    243       button.className = 'button_hidden';
    244     }
    245   }    
    246 });
    247 </script>
    248 
    249 </head>
    250 <body id="t">
    251   <div id="header">
    252     <h1 i18n-content="title"></h1>
    253     <p i18n-content="description"></p>
    254   </div>
    255   <div id="content">
    256     <h2 i18n-content="table_title"></h2>
    257     <div id="anchor" jscontent="anchor"></div>
    258     <button id="expandAll" class="globalButton" i18n-content="expand_all_btn">
    259     </button>
    260     <button id="collapseAll" class="globalButton" 
    261         i18n-content="collapse_all_btn"></button>
    262     <table class="list" id="details">
    263       <tr jsselect="details">
    264         <td class="name"><a jsvalues="name:anchor_value"><div
    265             jscontent="stat_name"></div></a></td>
    266         <td class="button_cell"><button jsvalues="id:stat_name + '-value-btn'"
    267             class="expand_status"></button></td>
    268         <td class="number"><div class="stat_value" jscontent="stat_value"
    269             jsvalues="id:stat_name + '-value'"></div></td>
    270       </tr>
    271     </table>
    272   </div>
    273 </body>
    274 </html>
    275