|
52 | 52 | var start = elemClass.indexOf(className);
|
53 | 53 | if (start == -1) {
|
54 | 54 | return false;
|
55 |
| - } else if (elemClass.length == className.length) { |
| 55 | + } else if (elemClass.length === className.length) { |
56 | 56 | return true;
|
57 | 57 | } else {
|
58 |
| - if (start > 0 && elemClass[start - 1] != ' ') { |
| 58 | + if (start > 0 && elemClass[start - 1] !== ' ') { |
59 | 59 | return false;
|
60 | 60 | }
|
61 | 61 | var end = start + className.length;
|
62 |
| - if (end < elemClass.length && elemClass[end] != ' ') { |
| 62 | + if (end < elemClass.length && elemClass[end] !== ' ') { |
63 | 63 | return false;
|
64 | 64 | }
|
65 | 65 | return true;
|
|
122 | 122 | }
|
123 | 123 |
|
124 | 124 | function highlightSourceLines(ev) {
|
| 125 | + var search = document.getElementById("search"); |
125 | 126 | var i, from, to, match = window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);
|
126 | 127 | if (match) {
|
127 | 128 | from = parseInt(match[1], 10);
|
|
145 | 146 | for (i = from; i <= to; ++i) {
|
146 | 147 | addClass(document.getElementById(i), 'line-highlighted');
|
147 | 148 | }
|
| 149 | + } else if (ev !== null && search && !hasClass(search, "hidden") && ev.newURL) { |
| 150 | + addClass(search, "hidden"); |
| 151 | + removeClass(document.getElementById("main"), "hidden"); |
| 152 | + var hash = ev.newURL.slice(ev.newURL.indexOf('#') + 1); |
| 153 | + if (browserSupportsHistoryApi()) { |
| 154 | + history.replaceState(hash, "", "?search=#" + hash); |
| 155 | + } |
| 156 | + var elem = document.getElementById(hash); |
| 157 | + if (elem) { |
| 158 | + elem.scrollIntoView(); |
| 159 | + } |
148 | 160 | }
|
149 | 161 | }
|
150 | 162 | highlightSourceLines(null);
|
|
1552 | 1564 | });
|
1553 | 1565 | }
|
1554 | 1566 | });
|
| 1567 | + |
| 1568 | + var search_input = document.getElementsByClassName("search-input")[0]; |
| 1569 | + |
| 1570 | + if (search_input) { |
| 1571 | + search_input.onfocus = function() { |
| 1572 | + if (search_input.value !== "") { |
| 1573 | + addClass(document.getElementById("main"), "hidden"); |
| 1574 | + removeClass(document.getElementById("search"), "hidden"); |
| 1575 | + if (browserSupportsHistoryApi()) { |
| 1576 | + history.replaceState(search_input.value, |
| 1577 | + "", |
| 1578 | + "?search=" + encodeURIComponent(search_input.value)); |
| 1579 | + } |
| 1580 | + } |
| 1581 | + }; |
| 1582 | + } |
1555 | 1583 | }());
|
1556 | 1584 |
|
1557 | 1585 | // Sets the focus on the search bar at the top of the page
|
|
0 commit comments