Author:
sat...@chromium.org
Date: Wed May 16 12:33:24 2012
New Revision: 137483
Log:
Merge 137377 - Show the message 'No files match "abc"' if the search results are empty.
Make search case-insensitive.
Match files by extensions and other substrings.
BUG=126633,126704,126993
TEST="The message is shown in place of file list if the search results are empty."
Review URL:
https://chromiumcodereview.appspot.com/10388142
TBR=
ol...@chromium.org
NOTE: Edited file_manager.css manually as there was a minor conflict caused by r136767
Review URL:
https://chromiumcodereview.appspot.com/10332207
Modified:
branches/1132/src/chrome/browser/resources/file_manager/css/file_manager.css
branches/1132/src/chrome/browser/resources/file_manager/js/file_manager.js
branches/1132/src/chrome/browser/resources/file_manager/js/mock_chrome.js
branches/1132/src/chrome/browser/resources/file_manager/main.html
Modified: branches/1132/src/chrome/browser/resources/file_manager/css/file_manager.css
==============================================================================
--- branches/1132/src/chrome/browser/resources/file_manager/css/file_manager.css (original)
+++ branches/1132/src/chrome/browser/resources/file_manager/css/file_manager.css Wed May 16 12:33:24 2012
@@ -1206,3 +1206,12 @@
.dialog-container:not([gdata]) #gdata-settings > * {
display: none;
}
+
+#no-search-results {
+ bottom: 0;
+ left: 0;
+ padding: 10px;
+ position: absolute;
+ right: 0;
+ top: 28px; /* Leave room for the file list header. */
+}
Modified: branches/1132/src/chrome/browser/resources/file_manager/js/file_manager.js
==============================================================================
--- branches/1132/src/chrome/browser/resources/file_manager/js/file_manager.js (original)
+++ branches/1132/src/chrome/browser/resources/file_manager/js/file_manager.js Wed May 16 12:33:24 2012
@@ -4372,15 +4372,31 @@
};
FileManager.prototype.onSearchBoxUpdate_ = function(event) {
- var searchString = this.dialogDom_.querySelector('#search-box').value;
+ var searchString = this.document_.getElementById('search-box').value;
+ var searchStringLC = searchString.toLowerCase();
+ var noResultsDiv = this.document_.getElementById('no-search-results');
if (searchString) {
this.directoryModel_.addFilter(
'searchbox',
function(e) {
- return e.name.substr(0, searchString.length) == searchString;
+ return e.name.toLowerCase().indexOf(searchStringLC) > -1;
});
+
+ this.reportEmptySearchResults_ = function() {
+ if (this.directoryModel_.getFileList().length === 0) {
+ var text = strf('SEARCH_NO_MATCHING_FILES', searchString);
+ noResultsDiv.innerHTML = text;
+ noResultsDiv.hidden = false;
+ }
+ }.bind(this);
+
+ this.directoryModel_.addEventListener(
+ 'rescan-completed', this.reportEmptySearchResults_);
} else {
this.directoryModel_.removeFilter('searchbox');
+ noResultsDiv.hidden = true;
+ this.directoryModel_.removeEventListener(
+ 'rescan-completed', this.reportEmptySearchResults_);
}
};
Modified: branches/1132/src/chrome/browser/resources/file_manager/js/mock_chrome.js
==============================================================================
--- branches/1132/src/chrome/browser/resources/file_manager/js/mock_chrome.js (original)
+++ branches/1132/src/chrome/browser/resources/file_manager/js/mock_chrome.js Wed May 16 12:33:24 2012
@@ -612,7 +612,9 @@
PDF_DOCUMENT_FILE_TYPE: 'PDF document',
WORD_DOCUMENT_FILE_TYPE: 'Word document',
POWERPOINT_PRESENTATION_FILE_TYPE: 'PowerPoint presentation',
- EXCEL_FILE_TYPE: 'Excel spreadsheet'
+ EXCEL_FILE_TYPE: 'Excel spreadsheet',
+
+ SEARCH_NO_MATCHING_FILES: 'No files match <b>"$1"</b>'
});
}
};
Modified: branches/1132/src/chrome/browser/resources/file_manager/main.html
==============================================================================
--- branches/1132/src/chrome/browser/resources/file_manager/main.html (original)
+++ branches/1132/src/chrome/browser/resources/file_manager/main.html Wed May 16 12:33:24 2012
@@ -157,6 +157,7 @@
<grid class=thumbnail-grid tabindex=0></grid>
<div class=spinner></div>
<div class="gdrive-welcome page"></div>
+ <div id="no-search-results" hidden></div>
</div>
<div class=downloads-warning hidden>
<img src=images/warning_icon_square_26x26.png>