about_sys.html revision 21d179b334e59e9a3bfcaed4c4430bef1bc5759d
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>
7body {
8  font-size: 84%;
9  font-family: Arial, Helvetica, sans-serif;
10  padding: 0.75em;
11  margin: 0;
12  min-width: 45em;
13}
14
15h1, h2 {
16 font-size: 120%;
17 letter-spacing: -1px;
18 margin: 0;
19}
20
21h1 {
22  font-weight: bold;
23  color: #4a8ee6;
24  padding: 0;
25}
26
27h2 {
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
37h2: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
57html[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
70html[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
138html[dir='rtl'] .number_expanded, html[dir='rtl'] .number_collapsed  {
139  text-align: right;
140}
141
142tr:not(.firstRow) > *:nth-child(1),
143tr:not(.firstRow) > *:nth-child(2),
144tr.firstRow th:nth-child(1),
145tr.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
154html[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
176html[dir='rtl'] .globalButton {
177  float: right;
178}
179</style>
180<script src="shared/js/local_strings.js"></script>
181<script>
182var localStrings;
183
184function getValueDivForButton(button) {
185  return document.getElementById(button.id.substr(0, button.id.length - 4));
186}
187
188function getButtonForValueDiv(valueDiv) {
189  return document.getElementById(valueDiv.id + '-btn');
190}
191
192function 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
203function 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
214function 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
225document.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