OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('options', function() { | 5 cr.define('options', function() { |
6 const OptionsPage = options.OptionsPage; | 6 const OptionsPage = options.OptionsPage; |
7 | 7 |
8 /** | 8 /** |
9 * Encapsulated handling of a search bubble. | 9 * Encapsulated handling of a search bubble. |
10 * @constructor | 10 * @constructor |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
305 // search terms. | 305 // search terms. |
306 var regEx = new RegExp('(' + searchText + ')', 'ig'); | 306 var regEx = new RegExp('(' + searchText + ')', 'ig'); |
307 var replaceString = '<span class="search-highlighted">$1</span>'; | 307 var replaceString = '<span class="search-highlighted">$1</span>'; |
308 | 308 |
309 var page, length; | 309 var page, length; |
310 var pagesToSearch = this.getSearchablePages_(); | 310 var pagesToSearch = this.getSearchablePages_(); |
311 for (var key in pagesToSearch) { | 311 for (var key in pagesToSearch) { |
312 page = pagesToSearch[key]; | 312 page = pagesToSearch[key]; |
313 var elements = page.pageDiv.querySelectorAll('section'); | 313 var elements = page.pageDiv.querySelectorAll('section'); |
314 for (var i = 0, node; node = elements[i]; i++) { | 314 for (var i = 0, node; node = elements[i]; i++) { |
315 node.classList.add('search-hidden'); | 315 if (!node.hidden) { |
James Hawkins
2012/02/28 20:03:35
No braces.
Denis Kuznetsov (DE-MUC)
2012/02/29 08:41:43
Done.
| |
316 node.classList.add('search-hidden'); | |
317 } | |
316 } | 318 } |
317 } | 319 } |
318 | 320 |
319 var bubbleControls = []; | 321 var bubbleControls = []; |
320 | 322 |
321 if (searchText.length) { | 323 if (searchText.length) { |
322 // Search all top-level sections for anchored string matches. | 324 // Search all top-level sections for anchored string matches. |
323 for (var key in pagesToSearch) { | 325 for (var key in pagesToSearch) { |
324 page = pagesToSearch[key]; | 326 page = pagesToSearch[key]; |
325 var elements = | 327 var elements = |
326 page.pageDiv.querySelectorAll('section'); | 328 page.pageDiv.querySelectorAll('section'); |
327 for (var i = 0, node; node = elements[i]; i++) { | 329 for (var i = 0, node; node = elements[i]; i++) { |
328 if (this.performReplace_(regEx, replaceString, node)) { | 330 if (!node.hidden) { |
329 node.classList.remove('search-hidden'); | 331 if (this.performReplace_(regEx, replaceString, node)) { |
330 foundMatches = true; | 332 node.classList.remove('search-hidden'); |
333 foundMatches = true; | |
334 } | |
331 } | 335 } |
332 } | 336 } |
333 } | 337 } |
334 | 338 |
335 // Search all sub-pages, generating an array of top-level sections that | 339 // Search all sub-pages, generating an array of top-level sections that |
336 // we need to make visible. | 340 // we need to make visible. |
337 var subPagesToSearch = this.getSearchableSubPages_(); | 341 var subPagesToSearch = this.getSearchableSubPages_(); |
338 var control, node; | 342 var control, node; |
339 for (var key in subPagesToSearch) { | 343 for (var key in subPagesToSearch) { |
340 page = subPagesToSearch[key]; | 344 page = subPagesToSearch[key]; |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
571 // Trim beginning and ending whitespace. | 575 // Trim beginning and ending whitespace. |
572 return text.replace(/^\s+|\s+$/g, ''); | 576 return text.replace(/^\s+|\s+$/g, ''); |
573 }; | 577 }; |
574 | 578 |
575 // Export | 579 // Export |
576 return { | 580 return { |
577 SearchPage: SearchPage | 581 SearchPage: SearchPage |
578 }; | 582 }; |
579 | 583 |
580 }); | 584 }); |
OLD | NEW |